次の方法で共有


OdbcConnection クラス

定義

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

public ref class OdbcConnection sealed : System::Data::Common::DbConnection, ICloneable
public ref class OdbcConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public sealed class OdbcConnection : System.Data.Common.DbConnection, ICloneable
public sealed class OdbcConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
type OdbcConnection = class
    inherit DbConnection
    interface ICloneable
type OdbcConnection = class
    inherit Component
    interface ICloneable
    interface IDbConnection
    interface IDisposable
Public NotInheritable Class OdbcConnection
Inherits DbConnection
Implements ICloneable
Public NotInheritable Class OdbcConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
継承
継承
実装

次の例では、OdbcCommandOdbcConnectionを作成します。 OdbcConnection が開き、Connection プロパティとして設定されます。 次に、ExecuteNonQueryを呼び出し、接続を閉じます。 これを実現するために、ExecuteNonQuery には接続文字列と SQL INSERT ステートメントであるクエリ文字列が渡されます。

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.
    }
}
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

注釈

OdbcConnection オブジェクトは、接続文字列または ODBC データ ソース名 (DSN) を使用して作成されたデータ ソースへの一意の接続を表します。 クライアント/サーバー データベース システムでは、サーバーへのネットワーク接続と同等です。 ネイティブ ODBC ドライバーでサポートされている機能によっては、OdbcConnection オブジェクトの一部のメソッドまたはプロパティが使用できない場合があります。

OdbcConnection オブジェクトは、ODBC 環境や接続ハンドルなどのネイティブ リソースを使用します。 オブジェクトがスコープ外になる前に または Dispose を呼び出 すか、 ステートメント内に接続を配置して、開いている オブジェクトを常に明示的に閉じる必要があります。 これを行わないと、これらのネイティブ リソースがガベージ コレクションに解放されます。 すぐには解放されない場合があります。 これにより、最終的に基になるドライバーがリソースを使い果たしたり、上限に達したりする可能性があります。 これにより、断続的なエラーが発生しました。 たとえば、多くの接続がガベージ コレクターによって削除されるのを待っている間に、Maximum Connections -related エラーが発生することがあります。 接続を明示的に閉じると、ネイティブ リソースをより効率的に使用でき、スケーラビリティが向上し、アプリケーションの全体的なパフォーマンスが向上します。

手記

高パフォーマンスのアプリケーションをデプロイするには、頻繁に接続プールを使用する必要があります。 ただし、.NET Framework Data Provider for ODBC を使用する場合は、プロバイダーによって自動的に管理されるため、接続プールを有効にする必要はありません。

OdbcCommand クラスのいずれかの Execute メソッドによって致命的な OdbcException が発生した場合 (たとえば、SQL Server の重大度レベルが 20 以上)、OdbcConnection が閉じる可能性があります。 ただし、ユーザーは接続を再度開いて続行できます。

OdbcConnection オブジェクトのインスタンスを作成するアプリケーションでは、宣言型または命令型のセキュリティ要求を設定することで、すべての直接呼び出し元と間接呼び出し元がコードに対する十分なアクセス許可を持つ必要があります。 OdbcConnection は、OdbcPermission オブジェクトを使用してセキュリティ要求を作成します。 ユーザーは、OdbcPermissionAttribute オブジェクトを使用して、コードに十分なアクセス許可があることを確認できます。 ユーザーと管理者は、コード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用して、コンピューター、ユーザー、およびエンタープライズ レベルでセキュリティ ポリシーを変更することもできます。 詳細については、「コード アクセスのセキュリティと ADO.NET」を参照してください。

データ ソースからの警告メッセージと情報メッセージの処理の詳細については、「接続イベントの」を参照してください。

コンストラクター

OdbcConnection()

OdbcConnection クラスの新しいインスタンスを初期化します。

OdbcConnection(String)

指定した接続文字列を使用して、OdbcConnection クラスの新しいインスタンスを初期化します。

プロパティ

CanCreateBatch

この DbConnection インスタンスが DbBatch クラスをサポートしているかどうかを示す値を取得します。

(継承元 DbConnection)
CanRaiseEvents

コンポーネントがイベントを発生できるかどうかを示す値を取得します。

(継承元 Component)
ConnectionString

データ ソースを開くために使用する文字列を取得または設定します。

ConnectionTimeout

接続を確立してから試行を終了し、エラーを生成するまでの待機時間 (秒単位) を取得または設定します。

Container

Componentを含む IContainer を取得します。

(継承元 Component)
Database

接続を開いた後に使用する現在のデータベースまたはデータベースの名前を取得します。

DataSource

データ ソースのサーバー名またはファイル名を取得します。

DbProviderFactory

この DbConnectionDbProviderFactory を取得します。

(継承元 DbConnection)
DesignMode

Component が現在デザイン モードであるかどうかを示す値を取得します。

(継承元 Component)
Driver

現在の接続に指定された ODBC ドライバーの名前を取得します。

Events

この Componentにアタッチされているイベント ハンドラーの一覧を取得します。

(継承元 Component)
ServerVersion

クライアントが接続されているサーバーのバージョンを含む文字列を取得します。

Site

ComponentISite を取得または設定します。

(継承元 Component)
State

接続の現在の状態を取得します。

メソッド

BeginDbTransaction(IsolationLevel)

派生クラスでオーバーライドされると、データベース トランザクションを開始します。

(継承元 DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

データベース トランザクションを非同期的に開始します。

(継承元 DbConnection)
BeginTransaction()

データ ソースでトランザクションを開始します。

BeginTransaction(IsolationLevel)

指定した IsolationLevel 値を使用して、データ ソースでトランザクションを開始します。

BeginTransactionAsync(CancellationToken)

データベース トランザクションを非同期的に開始します。

(継承元 DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

データベース トランザクションを非同期的に開始します。

(継承元 DbConnection)
ChangeDatabase(String)

開いている OdbcConnectionに関連付けられている現在のデータベースを変更します。

ChangeDatabaseAsync(String, CancellationToken)

開いている接続の現在のデータベースを非同期的に変更します。

(継承元 DbConnection)
Close()

データ ソースへの接続を閉じます。

CloseAsync()

データベースへの接続を非同期的に閉じます。

(継承元 DbConnection)
CreateBatch()

DbBatch クラスを実装するプロバイダーのクラスの新しいインスタンスを返します。

(継承元 DbConnection)
CreateCommand()

OdbcConnectionに関連付けられた OdbcCommand オブジェクトを作成して返します。

CreateDbBatch()

派生クラスでオーバーライドされると、DbBatch クラスを実装するプロバイダーのクラスの新しいインスタンスを返します。

(継承元 DbConnection)
CreateDbCommand()

派生クラスでオーバーライドされると、現在の接続に関連付けられている DbCommand オブジェクトを作成して返します。

(継承元 DbConnection)
CreateObjRef(Type)

リモート オブジェクトとの通信に使用されるプロキシの生成に必要なすべての関連情報を含むオブジェクトを作成します。

(継承元 MarshalByRefObject)
Dispose()

アンマネージド リソースの解放、解放、またはリセットに関連付けられているアプリケーション定義のタスクを実行します。

(継承元 DbConnection)
Dispose()

Componentで使用されているすべてのリソースを解放します。

(継承元 Component)
Dispose(Boolean)

DbConnection によって使用されるアンマネージ リソースを解放し、必要に応じてマネージド リソースを解放します。

(継承元 DbConnection)
Dispose(Boolean)

Component によって使用されるアンマネージ リソースを解放し、必要に応じてマネージド リソースを解放します。

(継承元 Component)
DisposeAsync()

接続オブジェクトを非同期的に dipose します。

(継承元 DbConnection)
EnlistDistributedTransaction(ITransaction)

指定したトランザクションに分散トランザクションとして参加させます。

EnlistTransaction(Transaction)

指定したトランザクションに分散トランザクションとして参加させます。

EnlistTransaction(Transaction)

指定したトランザクションに参加します。

(継承元 DbConnection)
Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetSchema()

この OdbcConnectionのデータ ソースのスキーマ情報を返します。

GetSchema(String)

指定したスキーマ名を使用して、この OdbcConnection のデータ ソースのスキーマ情報を返します。

GetSchema(String, String[])

この OdbcConnection のデータ ソースのスキーマ情報を返します。スキーマ名には指定した文字列を使用し、制限値には指定した文字列配列を使用します。

GetSchemaAsync(CancellationToken)

これは、GetSchema()の非同期バージョンです。 プロバイダーは、適切な実装でオーバーライドする必要があります。 必要に応じて、cancellationToken を受け入れることもできます。 既定の実装では、同期 GetSchema() 呼び出しが呼び出され、完了したタスクが返されます。 既定の実装では、既に取り消された cancellationTokenに合格した場合、取り消されたタスクが返されます。 GetSchema() によってスローされた例外は、返されたタスク例外プロパティを介して伝達されます。

(継承元 DbConnection)
GetSchemaAsync(String, CancellationToken)

これは、GetSchema(String)の非同期バージョンです。 プロバイダーは、適切な実装でオーバーライドする必要があります。 必要に応じて、cancellationToken を受け入れることもできます。 既定の実装では、同期 GetSchema(String) 呼び出しが呼び出され、完了したタスクが返されます。 既定の実装では、既に取り消された cancellationTokenに合格した場合、取り消されたタスクが返されます。 GetSchema(String) によってスローされた例外は、返されたタスク例外プロパティを介して伝達されます。

(継承元 DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

これは、GetSchema(String, String[])の非同期バージョンです。 プロバイダーは、適切な実装でオーバーライドする必要があります。 必要に応じて、cancellationToken を受け入れることもできます。 既定の実装では、同期 GetSchema(String, String[]) 呼び出しが呼び出され、完了したタスクが返されます。 既定の実装では、既に取り消された cancellationTokenに合格した場合、取り消されたタスクが返されます。 GetSchema(String, String[]) によってスローされた例外は、返されたタスク例外プロパティを介して伝達されます。

(継承元 DbConnection)
GetService(Type)

Component またはその Containerによって提供されるサービスを表すオブジェクトを返します。

(継承元 Component)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

StateChange イベントを発生させます。

(継承元 DbConnection)
Open()

ConnectionStringで指定されたプロパティ設定を使用して、データ ソースへの接続を開きます。

OpenAsync()

Open()の非同期バージョン。ConnectionStringで指定された設定を使用してデータベース接続を開きます。 このメソッドは、CancellationToken.None で OpenAsync(CancellationToken) 仮想メソッドを呼び出します。

(継承元 DbConnection)
OpenAsync(CancellationToken)

これは、Open()の非同期バージョンです。 プロバイダーは、適切な実装でオーバーライドする必要があります。 キャンセル トークンは必要に応じて受け入れられます。

既定の実装では、同期 Open() 呼び出しが呼び出され、完了したタスクが返されます。 既定の実装では、既に取り消された cancellationToken が渡された場合、取り消されたタスクが返されます。 Open によってスローされた例外は、返されたタスク例外プロパティを介して伝達されます。

返された Task が完了するまで、DbConnection オブジェクトの他のメソッドとプロパティを呼び出さないでください。

(継承元 DbConnection)
ReleaseObjectPool()

基になる最後の接続が解放されたときに、ODBC ドライバー マネージャー環境ハンドルを解放できることを示します。

ToString()

Componentの名前 (存在する場合) を含む String を返します。 このメソッドはオーバーライドしないでください。

(継承元 Component)

イベント

Disposed

コンポーネントが Dispose() メソッドの呼び出しによって破棄されるときに発生します。

(継承元 Component)
InfoMessage

ODBC ドライバーが警告または情報メッセージを送信するときに発生します。

StateChange

接続の状態が変更されたときに発生します。

StateChange

接続の状態が変更されたときに発生します。

(継承元 DbConnection)

明示的なインターフェイスの実装

ICloneable.Clone()

このメンバーの説明については、Clone()を参照してください。

IDbConnection.BeginTransaction()

この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。

データベース トランザクションを開始します。

IDbConnection.BeginTransaction()

データベース トランザクションを開始します。

(継承元 DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。

指定した分離レベルでデータベース トランザクションを開始します。

IDbConnection.BeginTransaction(IsolationLevel)

指定した分離レベルでデータベース トランザクションを開始します。

(継承元 DbConnection)
IDbConnection.CreateCommand()

この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。

接続に関連付けられているコマンド オブジェクトを作成して返します。

IDbConnection.CreateCommand()

現在の接続に関連付けられている DbCommand オブジェクトを作成して返します。

(継承元 DbConnection)

拡張メソッド

ConfigureAwait(IAsyncDisposable, Boolean)

非同期破棄から返されるタスクの待機を実行する方法を構成します。

適用対象

こちらもご覧ください