OdbcConnection クラス
アセンブリ: System.Data (system.data.dll 内)


OdbcConnection オブジェクトは、接続文字列または ODBC のデータ ソース名 (DSN) を使用して作成した一意のデータ ソース接続を表します。クライアント/サーバー データベース システムでは、サーバーへのネットワーク接続に相当します。ネイティブの ODBC ドライバがサポートする機能によっては、OdbcConnection オブジェクトの一部のメソッド、またはプロパティが利用できないこともあります。
OdbcConnection オブジェクトは、ODBC の環境や接続ハンドルなどのネイティブ リソースを使用します。OdbcConnection オブジェクトが適用範囲外になる前に、必ず Close または Dispose を呼び出すか、接続を Usingステートメント内に記述することによって、開いている OdbcConnection オブジェクトを明示的に閉じる必要があります。いずれも行わなかった場合、これらのネイティブ リソースの解放はガベージ コレクションで行われます。その場合、リソースの解放は直ちに実行されるわけではありません。その結果、基になるドライバでリソースが不足したり最大制限に到達してしまう場合があります。これにより、断続的なエラーが発生するようになります。たとえば、ガベージ コレクションによる削除を待っている接続が多数存在する場合に、Maximum Connections 関連のエラーが発生する場合があります。明示的に接続を閉じると、ネイティブ リソースをより効率的に使用でき、拡張性およびアプリケーション全体のパフォーマンスが向上します。
![]() |
---|
パフォーマンスの高いアプリケーションを配置するには、接続プールを有効活用する必要があります。ただし、.NET Framework ODBC 用データ プロバイダを使用する場合は、プロバイダが接続プールを自動的に管理するため、この機能を有効にする必要はありません。 |
OdbcCommand クラスのいずれかの Execute メソッドを実行した結果、致命的な OdbcException (SQL Server の重大度レベル 20 以上など) が発生した場合、OdbcConnection が閉じる可能性があります。ただし、ユーザーは接続を再び開いて、処理を継続できます。
OdbcConnection オブジェクトのインスタンスを作成するアプリケーションは、宣言セキュリティまたは強制セキュリティの要求を設定することによって、直接的または間接的な呼び出し元すべてに対して、コードへの適切なアクセス許可を要求できます。OdbcConnection は、OdbcPermission オブジェクトを使用して、セキュリティ要求を作成します。ユーザーは、OdbcPermissionAttribute オブジェクトを使用して、コードに適切なアクセス許可が設定されているかどうかを確認できます。また、ユーザーおよび管理者は、コード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用して、コンピュータ、ユーザー、エンタープライズの各レベルでセキュリティ ポリシーを変更できます。詳細については、「コード アクセス セキュリティと ADO.NET」を参照してください。
データ ソースから受け取る警告メッセージと情報メッセージの処理の詳細については、「接続イベントの使用」を参照してください。

OdbcCommand と OdbcConnection を作成する例を次に示します。OdbcConnection を開き、Connection プロパティとして設定します。この例では、次に、ExecuteNonQuery を呼び出し、接続を閉じます。この例では、ExecuteNonQuery に、接続文字列と SQL INSERT ステートメントのクエリ文字列が渡されます。
Private Sub InsertRow(ByVal connectionString As String) Dim queryString As String = _ "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')" Dim command As New OdbcCommand(queryString) Using connection As New OdbcConnection(connectionString) command.Connection = connection connection.Open() command.ExecuteNonQuery() ' The connection is automatically closed at ' the end of the Using block. End Using End Sub
static private void InsertRow(string connectionString) { string queryString = "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"; OdbcCommand command = new OdbcCommand(queryString); using (OdbcConnection connection = new OdbcConnection(connectionString)) { command.Connection = connection; connection.Open(); command.ExecuteNonQuery(); // The connection is automatically closed at // the end of the Using block. } }

System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbConnection
System.Data.Odbc.OdbcConnection


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からOdbcConnection クラスを検索する場合は、下記のリンクをクリックしてください。

- OdbcConnection クラスのページへのリンク