次の方法で共有


ADO.NET での OLE DB データ ソースへの接続

.NET Framework Data Provider for OLE DB は、OleDbConnection オブジェクトを通じて、OLE DB によって公開されているデータ ソースおよび Microsoft SQL Server Version 6.x 以前 (SQLOLEDB : OLE DB Provider for SQL Server を使用して) への接続を提供します。

.NET Framework Data Provider for OLE DB で使用される接続文字列フォーマットは ADO で使用される接続文字列フォーマットと同じですが、次の例外があります。

  • Provider キーワードは必須です。
  • URLRemote Provider、および Remote Server キーワードはサポートされていません。

OLE DB 接続文字列の詳細については、MSDN に格納されている『プラットフォーム SDK』の「接続文字列の作成」を参照してください。

メモ   OleDbConnection オブジェクトは、OLE DB プロバイダ固有の動的プロパティの設定または取得をサポートしていません。OLE DB プロバイダに接続文字列で渡すことができるプロパティだけがサポートされています。

OLE DB データ ソースへの接続を作成し確立する方法を次のサンプル コードに示します。

Dim nwindConn As OleDbConnection = New OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;" & _
                                                       "Integrated Security=SSPI;Initial Catalog=northwind")
nwindConn.Open()
[C#]
OleDbConnection nwindConn = new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;" +
                                                "Integrated Security=SSPI;Initial Catalog=northwind");
nwindConn.Open();

OleDbConnection の接続情報は、UDL (Universal Data Link) ファイルを使用して提供できます。UDL ファイルはアプリケーションの外部リソースなので、NTFS (New Technologies File System) のファイル アクセス許可機能を使用して UDL ファイルを保護し、接続情報が公開または変更されるのを防ぐ必要があります。また、接続に正しい UDL ファイルが使用されるようにするために、絶対パスを指定してください。

UDL ファイルは ADO.NET クライアント プログラムに合わせて外部から変更されることがあるため、UDL ファイルへの参照を含む接続文字列は、接続を確立するたびに解析されます。これによりパフォーマンスが低下する可能性があるため、最適のパフォーマンスを得るために UDL ファイルを含まない静的な接続文字列を使用することをお勧めします。

接続の終了

接続がプールに返されるようにするために、接続を使い終えたら必ず Connection を終了することをお勧めします。これを行うには、Connection オブジェクトの Close メソッドまたは Dispose メソッドを使用します。明示的に終了されていない接続は、プールに追加したり返したりすることができないことがあります。たとえば、スコープ外に出ても、明示的に終了されていない接続は、最大プール サイズに達した時点でその接続がまだ有効である場合にだけ接続プールに返されます。

メモ   クラスの Finalize メソッド内で ConnectionDataReader、またはその他のマネージ オブジェクトの Close または Dispose を呼び出さないでください。終了処理では、クラスに直接所有されているアンマネージ リソースだけを解放してください。クラスがアンマネージ リソースを所有していない場合は、クラス定義に Finalize メソッドを含めないでください。詳細については、「ガベージ コレクションのプログラミング」を参照してください。

参照

.NET Framework データ プロバイダによるデータのアクセス | OleDbConnection クラス | System.Data.OleDb