次の方法で共有


Connection オブジェクト (ADO)

データ ソースへの開いている接続を表します。

備考

Connection オブジェクトは、データ ソースとの一意のセッションを表します。 クライアント/サーバー データベース システムでは、サーバーへの実際のネットワーク接続と同等である可能性があります。 プロバイダーでサポートされている機能によっては、Connection オブジェクトの一部のコレクション、メソッド、またはプロパティを使用できない場合があります。

Connection オブジェクトのコレクション、メソッド、およびプロパティを使用すると、次の操作を実行できます。

  • ConnectionStringConnectionTimeout、および Mode プロパティを使用して接続を開く前に、接続を構成します。 ConnectionString は、Connection オブジェクトの既定のプロパティです。

  • CursorLocation プロパティをクライアントに設定して、バッチ更新をサポートする Microsoft Cursor Service for OLE DBを呼び出します。

  • DefaultDatabase プロパティを使用して、接続の既定のデータベースを設定します。

  • IsolationLevel プロパティを使用して、接続で開かれたトランザクションの分離レベルを設定します。

  • Provider プロパティを使用して OLE DB プロバイダーを指定します。

  • Open を使用してデータ ソースへの物理的な接続を確立し、後で切断し、メソッドを閉じる します。

  • Execute メソッドを使用して接続でコマンドを実行し、CommandTimeout プロパティを使用して実行を構成します。

    手記

    Command オブジェクトを使用せずにクエリを実行するには、Connection オブジェクトの Execute メソッドにクエリ文字列を渡します。 ただし、コマンド テキストを永続化して再実行する場合、またはクエリ パラメーターを使用する場合は、Command オブジェクトが必要です。

  • BeginTransCommitTrans、RollbackTrans メソッド、および Attributes プロパティを使用 して、入れ子になったトランザクションを含め、開いている接続のトランザクションを管理します。

  • Errors コレクションを使用して、データ ソースから返されたエラーを調べます。

  • Version プロパティで使用される ADO 実装からバージョンを読み取ります。

  • OpenSchema メソッドを使用して、データベースに関するスキーマ情報を取得します。

接続 オブジェクトは、以前に定義した他のオブジェクトとは別に作成できます。

名前付きコマンドまたはストアド プロシージャは、次のセクションに示すように、Connection オブジェクトでネイティブ メソッドであるかのように実行できます。 名前付きコマンドの名前がストアド プロシージャと同じ場合は、Connection オブジェクトで "ネイティブ メソッド呼び出し" を呼び出し、常にストア プロシージャの代わりに名前付きコマンドを実行します。

手記

Microsoft .NET Framework アプリケーションでは、この機能 (Connection オブジェクトのネイティブ メソッドであるかのように名前付きコマンドまたはストアド プロシージャを呼び出す) は使用しないでください。この機能の基になる実装は、.NET Framework と COM との相互運用方法と競合するためです。

Connection オブジェクトのネイティブ メソッドとしてコマンドを実行する

コマンドを実行するには、Command オブジェクト Name プロパティを使用して、コマンドに名前を付けます。 Command オブジェクトの ActiveConnection プロパティを接続に設定します。 次に、コマンド名が Connection オブジェクトのメソッドであるかのように使用され、その後にパラメーターが続き、行が返された場合は Recordset オブジェクトが使用されるステートメントを発行します。 Recordset プロパティを設定して、結果の Recordsetをカスタマイズします。 例えば:

Dim cnn As New ADODB.Connection  
Dim cmd As New ADODB.Command  
Dim rst As New ADODB.Recordset  
...  
cnn.Open "..."  
cmd.Name = "yourCommandName"  
cmd.ActiveConnection = cnn  
...  
'Your command name, any parameters, and an optional Recordset.  
cnn. "parameter", rst  

Connection オブジェクトのネイティブ メソッドとしてストアド プロシージャを実行する

ストアド プロシージャを実行するには、ストアド プロシージャ名が Connection オブジェクトのメソッドであるかのように使用され、その後にパラメーターが続くステートメントを発行します。 ADO では、パラメーター型の "最適な推測" が行われます。 例えば:

Dim cnn As New ADODB.Connection  
...  
'Your stored procedure name and any parameters.  
cnn. "parameter"  

Connection オブジェクトは、スクリプト作成に安全です。

このセクションには、次のトピックが含まれています。

関連項目

Command オブジェクト (ADO)
Errors コレクション (ADO)
プロパティ コレクション (ADO)
Recordset オブジェクト (ADO)
付録 A: プロバイダー