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

  関連記事

CopyFromRecordset メソッド
Recordset オブジェクトの内容をワークシートにコピーする(CopyFromRecordset メソッド・ADO)

CopyFromRecordset メソッド ADO の Recordset オ …

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

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

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

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

RecordCount プロパティ(ADO)
Recordset オブジェクト内のレコード数(ADO)RecordCount プロパティ

RecordCount プロパティ Recordset オブジェクトのレコード数 …

DB Class Excel へ接続
Excel VBA のクラスを使ってデータベースへ接続する(ADO)

データベースの処理をクラスモジュールに書く ExcelVBAで、クラス使用する方 …

Delete メソッド(ADO)
レコードの削除(ADO)Delete メソッド

データベースのレコードを削除する Delete メソッド カレントレコードを削除 …

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

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

AddNew メソッド(ADO)
レコードの追加(ADO)AddNew メソッド,Update メソッド

データベースにレコードを追加する AddNew メソッド 新規レコードを追加し、 …

BOF プロパティ・EOF プロパティ
BOF プロパティ・EOF プロパティ(ADO)

EOF プロパティ・BOF プロパティ BOF プロパティは、カレントレコードの …

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

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