Connection オブジェクト (ADO)

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

解説

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

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

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

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

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

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

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

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

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

    Note

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

  • BeginTransCommitTransRollbackTrans の各メソッドと Attributes プロパティを使用して、開いている接続でトランザクション (プロバイダーがサポートしている場合は入れ子になったトランザクションを含む) を管理します。

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

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

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

Connection オブジェクトは、以前に定義された他のオブジェクトとは無関係に作成できます。

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

Note

Microsoft .NET Framework アプリケーションでは、この機能 (名前付きコマンドまたはストアド プロシージャを接続オブジェクトのネイティブ メソッドであるかのように呼び出す) は使用しないでください。この機能の基になる実装は、.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)
Properties コレクション (ADO)
Recordset オブジェクト (ADO)
付録 A: プロバイダー