ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

データベース(Oracle)に接続する(OLE DB を使用)

      2017/09/28

OLE DB プロバイダ

OLE DBには、Oracle 提供の Oracle Provider for OLE DB と Microsoft 提供の OLE DB Provider for Oracle の2種類があります。いずれの場合も ADO を使用してプログラムが可能です。
また、OLE DB の他に、ODBCoo4o といったミドルウェアがあります。


Oracle Provider for OLE DB

Oracle に接続するには、Oracle Client が必要です。
ADO で接続するには Open メソッドConnectionString プロパティ に、OraOLEDB.Oracle という文字列を使用します。

接続文字列パラメータ


【ConnectionString(ADO)に設定する文字列】

<tnsnames.ora ファイルを使用する場合>
Provider = OraOLEDB.Oracle;
Data Source = ServerName;
User ID = UserName;
Password = UserPassword;

<tnsnames.ora ファイルを使用せず直接指定する場合>
Provider = OraOLEDB.Oracle;
Data Source = StrDataSource;
User ID = UserName;
Password = UserPassword;


引数・戻り値

  • ServerName  ・・・  tnsnames.ora ファイルのネットサービス名を指定します。
  • UserName  ・・・  ユーザー名を指定します。
  • UserPassword  ・・・  パスワードを指定します。
  • StrDataSource  ・・・  tnsnames.ora ファイルの内容をそのまま記述します。

  • <tnsnames.ora ファイル>
    ora ファイル

ADO に関しては データベース(Access 等)に接続(ADO) を参照して下さい。



データベース(Oracle)へ接続する例(Oracle OLE DB を使用)

サンプルVBAソース1



Microsoft OLE DB Provider for ODBC

Oracle に接続するには、Oracle Client が必要です。
ADO で接続するには Open メソッドConnectionString プロパティ に、MSDAORA という文字列を使用します。

接続文字列パラメータ


【ConnectionString(ADO)に設定する文字列】

<tnsnames.ora ファイルを使用する場合>
Provider = MSDAORA;
Data Source = ServerName;
User ID = UserName;
Password = UserPassword;

<tnsnames.ora ファイルを使用せず直接指定する場合>
Provider = MSDAORA;
Data Source = StrDataSource;
User ID = UserName;
Password = UserPassword;


引数・戻り値

  • ServerName  ・・・  tnsnames.ora ファイルのネットサービス名を指定します。
  • UserName  ・・・  ユーザー名を指定します。
  • UserPassword  ・・・  パスワードを指定します。
  • StrDataSource  ・・・  tnsnames.ora ファイルの内容をそのまま記述します。


データベース(Oracle)へ接続する例(Microsoft OLE DB を使用)

サンプルVBAソース 2


実行結果

oracle 接続結果



 - データベース , , , , , , , , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

ADOX クエリを作成
クエリの作成・削除(ADOX)

ADOX を使用してクエリを作成・削除 クエリを作成する手順 【書式】 <参照設 …

Parameters.Refresh エラー
クエリにパラメータを渡して結果を取得する(ADO)Command オブジェクト・Execute メソッド

クエリにパラメータを渡して結果を取得する手順 Command オブジェクトの作成 …

Filter プロパティ(ADO)
レコードを指定した条件で抽出する(ADO)Filter プロパティ

データベースのレコードを指定した条件で抽出する Filter プロパティ 【書式 …

ADOX インデックスを作成する1
インデックス、プロパティの設定(ADOX)

インデックスを作成する index オブジェクト 【書式】 <CreateObj …

ADO Fields コレクション
フィールド名(ADO)Fields コレクション

Fields コレクション Recordset オブジェクト内の1つ以上の列(フ …

ADO Access (参照設定)
データベース(Access 等)に接続(ADO)

ADO で、データベースに接続 外部データベースを操作する方法のひとつに ADO …

CSVフィアルに接続(ADO)
CSVファイルに接続(ADO)

ADOでCSVファイルに接続 ADO を使用してCSVファイルを読み込みます。C …

ADOX テーブルの作成
テーブルの作成・削除/フィールドの作成・削除(ADOX)

ADOX を使用してテーブル・フィールド(列)を作成・削除 Table オブジェ …

Sort プロパティ(ADO)
レコードを並べ替える(ADO)Sort プロパティ

データベースのレコードを並べ替える Sort プロパティ 【書式】 object …

データベース(SQLServer)接続
データベース(SQL Server)に接続する(ADO)

データベース(SQL Server)に接続 ODBC または OLE DB で接 …