Connection オブジェクト (ADO)Connection Object (ADO)

データソースへの開いている接続を表します。Represents an open connection to a data source.


接続オブジェクトは、データソースとの一意のセッションを表します。A Connection object represents a unique session with a data source. クライアント/サーバーデータベースシステムでは、サーバーへの実際のネットワーク接続と同じになる場合があります。In a client/server database system, it may be equivalent to an actual network connection to the server. プロバイダーでサポートされている機能によっては、接続オブジェクトの一部のコレクション、メソッド、またはプロパティが使用できないことがあります。Depending on the functionality supported by the provider, some collections, methods, or properties of a Connection object may not be available.

接続オブジェクトのコレクション、メソッド、およびプロパティを使用して、次の操作を実行できます。With the collections, methods, and properties of a Connection object, you can do the following:

  • ConnectionStringConnectionTimeout、およびModeプロパティを使用して接続を開く前に、接続を構成します。Configure the connection before opening it with the ConnectionString, ConnectionTimeout, and Mode properties. ConnectionStringは、接続オブジェクトの既定のプロパティです。ConnectionString is the default property of the Connection object.

  • Cursor locationプロパティを client に設定して、バッチ更新をサポートするOLE DB 用の Microsoft Cursor Serviceを起動します。Set the CursorLocation property to client to invoke the Microsoft Cursor Service for OLE DB, which supports batch updates.

  • Defaultdatabaseプロパティを使用して、接続の既定のデータベースを設定します。Set the default database for the connection with the DefaultDatabase property.

  • IsolationLevelプロパティを使用して、接続で開かれたトランザクションの分離レベルを設定します。Set the level of isolation for the transactions opened on the connection with the IsolationLevel property.

  • プロバイダープロパティを使用して OLE DB プロバイダーを指定してください。Specify an OLE DB provider with the Provider property.

  • OpenメソッドとCloseメソッドを使用して、データソースへの物理接続を確立してから中断します。Establish, and later break, the physical connection to the data source with the Open and Close methods.

  • Executeメソッドを使用して接続に対してコマンドを実行し、 CommandTimeoutプロパティを使用して実行を構成します。Execute a command on the connection with the Execute method and configure the execution with the CommandTimeout property.


    Command オブジェクトを使用せずにクエリを実行するには、接続オブジェクトのexecuteメソッドにクエリ文字列を渡します。To execute a query without using a Command object, pass a query string to the Execute method of a Connection object. ただし、コマンドのテキストを永続化して再実行する場合、またはクエリパラメーターを使用する場合は、 commandオブジェクトが必要です。However, a Command object is required when you want to persist the command text and re-execute it, or use query parameters.

  • 入れ子になったトランザクションを含むオープン接続でトランザクションを管理します。これには、プロバイダーがサポートしている場合は、 BeginTransCommitTrans、およびRollbackTransの各メソッドとAttributesプロパティを使用します。Manage transactions on the open connection, including nested transactions if the provider supports them, with the BeginTrans, CommitTrans, and RollbackTrans methods and the Attributes property.

  • データソースから返されたエラーをエラーコレクションと共に調べます。Examine errors returned from the data source with the Errors collection.

  • Versionプロパティで使用されている ADO 実装からバージョンを読み取ります。Read the version from the ADO implementation used with the Version property.

  • OpenSchemaメソッドを使用して、データベースに関するスキーマ情報を取得します。Obtain schema information about your database with the OpenSchema method.

以前に定義された他のオブジェクトとは別に、接続オブジェクトを作成できます。You can create Connection objects independently of any other previously defined object.

名前付きコマンドまたはストアドプロシージャは、次のセクションで示すように、接続オブジェクトのネイティブメソッドであるかのように実行できます。You can execute named commands or stored procedures as if they were native methods on a Connection object, as shown in the next section. 名前付きコマンドの名前がストアドプロシージャの名前と同じである場合は、接続オブジェクトで "ネイティブメソッドの呼び出し" を呼び出すと、ストアプロシージャではなく、常に名前付きコマンドが実行されます。When a named command has the same name as that of a stored procedure, invoke the "native method call" on a Connection object always execute the named command instead of the store procedure.


Microsoft® .NET Framework アプリケーションでは、この機能を使用しないでください (名前付きコマンドまたはストアドプロシージャを、接続オブジェクトのネイティブメソッドとして呼び出す) ことはできません。これは、機能の基になる実装が、.NET FRAMEWORK が COM と相互運用する方法と競合するためです。Do not use this feature (calling a named command or stored procedure as if it were a native method on the Connection object) in a Microsoft® .NET Framework application, because the underlying implementation of the feature conflicts with the way the .NET Framework interoperates with COM.

接続オブジェクトのネイティブメソッドとしてコマンドを実行するExecute a command as a native method of a Connection object

コマンドを実行するには、コマンドオブジェクトプロパティを使用して、コマンドに名前を付けます。To execute a command, give the command a name using the Command object Name property. CommandオブジェクトのActiveConnectionプロパティを接続に設定します。Set the ActiveConnection property of the Command object to the connection. 次に、コマンド名がConnectionオブジェクトのメソッドであるかのように使用されているステートメントを実行し、任意のパラメーターを指定します。行が返された場合は、レコードセットオブジェクトも指定します。Then issue a statement where the command name is used as if it were a method on the Connection object, followed by any parameters, and a Recordset object if any rows are returned. レコードセットのプロパティを設定して、結果のレコードセットをカスタマイズします。Set the Recordset properties to customize the resulting Recordset. 次に例を示します。For example:

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  

接続オブジェクトのネイティブメソッドとしてストアドプロシージャを実行するExecute a stored procedure as a native method of a Connection object

ストアドプロシージャを実行するには、ストアドプロシージャ名が接続オブジェクトのメソッドであるかのように使用されるステートメントを実行し、その後に任意のパラメーターを指定します。To execute a stored procedure, issue a statement where the stored procedure name is used as if it were a method on the Connection object, followed by any parameters. ADO は、パラメーターの型の "最適な推測" を行います。ADO will make a "best guess" of parameter types. 次に例を示します。For example:

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

接続オブジェクトは、スクリプトに対して安全です。The Connection object is safe for scripting.

ここでは、次のトピックについて説明します。This section contains the following topic.

参照See Also

Command オブジェクト (ADO) Command Object (ADO)
Errors コレクション (ADO) Errors Collection (ADO)
Properties コレクション (ADO) Properties Collection (ADO)
Recordset オブジェクト (ADO) Recordset Object (ADO)
付録 A: プロバイダーAppendix A: Providers