ADOを使用して外部データベースに接続する方法
ActiveX Data Objects【アクティブエックスデータオブジェクツ】(以下ADO)を使用して外部データベースに接続するにはConnection【コネクション】オブジェクトのOpen【オープン】メソッドを使用します。
Connection.Open【コネクションオープン】メソッド
Connection.Open【コネクションオープン】メソッドの書式と設定値(引数)の説明
[]内は省略可能です。
オブジェクト変数.Open( [ConnectionString, UserID, Password] )
- オブジェクト変数(必須)
Connection【コネクション】オブジェクト変数を指定します。
Connection【コネクション】オブジェクトはインスタンスを生成して取得します。 - ConnectionString【コネクションストリング】(省略可)
外部データベースのプロバイダー名や格納場所(ファイルパス)などを指定します。プロバイダー名を代入する変数Providerとファイルパスを代入する変数Data Sourceを接続文字列として以下のように指定します。
「ConnectionString:= “Provider=設定値;” & “Data Source=設定値;”」
変数名 | 変数に設定する内容 |
---|---|
Provider 【プロバイダー】 | 接続する外部データベースの種類 (プロバイダー名)を指定します。 |
Data Source 【データソース】 | 接続するデータベースの格納場所 (ファイルパス)を指定します。 |
外部データベース | プロバイダー名 |
---|---|
Access2016/2013/2010/2007 | Microsoft.ACE.OLEDB.12.0 |
Access2003/2002 | Microsoft.Jet.OLEDB.4.0 |
SQLServer | SQLOLEDB.1 |
Oracle | MSDAORA |
DB2 | IBMDADB2 |
ODBC 接続 | MSDASQL.1 |
- UserID【ユーザーアイディ】(省略可)
外部データベースに接続するときに使用するユーザー名を指定します。 - Password【パスワード】(省略可)
外部データベースに接続するときに使用するパスワードを指定します。
※1つのConnection【コネクション】オブジェクトで確立できる接続は1つです。別の接続を確立したい場合は、別のConnectionオブジェクトのインスタンスを生成してOpenメソッドで実行してください。
Connection.Close【コネクションクローズ】メソッド
外部データベースとの接続を切断するには、Connection【コネクション】オブジェクトのClase【クローズ】メソッドを使用します。Connection【コネクション】オブジェクトのOpen【オープン】メソッドで外部データベースを接続した後は必ず接続を切断します。
Connection.Close【コネクションクローズ】メソッドの書式と設定値の説明
オブジェクト変数.Close:Set オブジェクト変数 = Nothing
接続時に使用したConnection【コネクション】オブジェクトのインスタンスが、格納されているオブジェクト変数に対してClose【クローズ】メソッドで接続を切断し、そのオブジェクト変数にNothing【ナッシング】を代入して使用していたメモリー領域を解放します。外部データベースとのやりとりが終了した時点でこのコードを記述します。
Accessのデータファイルに接続するコード例
Sub アクセス接続() Dim コネクション As New ADODB.Connection コネクション.Open ConnectionString:= _ "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=C:¥Users¥Desktop¥Database1.accdb;" MsgBox "接続を確立しました。" コネクション.Close: Set コネクション = Nothing End Sub
※ADOのライブラリファイルへの参照設定がされていることが前提のコード例です。
以上で、ADOを使用して外部データベースに接続する方法についての解説を終了します。
ありがとうございました。