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

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

  関連記事

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ADOX テーブル名・クエリ名を取得
テーブル名、クエリ名の取得(ADOX)

テーブル名の取得 Table.Type プロパティ 【書式】 <取得> obje …

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

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

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

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