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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

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

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

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

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

Command.Execute Insert Into 文
SQL文を実行する(ADO)Execute メソッド

Command オブジェクトの Execute メソッドで、SQL文を実行 Co …

ado Field オブジェクト
フィールド名(ADO)Field オブジェクト

Field オブジェクト Recordset オブジェクト内の列(フィールド)を …

ADOX データベース作成1
データベースを作成する(ADOX)

ADOX を使用してデータベース(Access)を作成 Catalog オブジェ …

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

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

Oracle(oo4o)接続サンプル1
データベース(Oracle)に接続する(oo4o)

oo4o 接続 OO4O(Oracle Objects for OLE)はWin …

トランザクション01
トランザクション(ADO)BeginTrans、CommitTrans、RollbackTrans

ADO でのトランザクション処理 【書式】 Sub Sample_Transac …

Update メソッド(ADO)
レコードの更新(ADO)Update メソッド

データベースのレコードを更新する Update メソッド カレントレコードの内容 …

Recordsetオブジェクト内のカーソル移動
カレントレコードの移動(ADO)MoveFirst、MoveLast、MoveNext、MovePrevious、Move

MoveFirst メソッド、MoveLast メソッド、MoveNext メソ …