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
継承
OdbcConnection
継承
継承
実装

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

注意

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

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

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

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

コンストラクター

OdbcConnection()

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

OdbcConnection(String)

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

プロパティ

CanCreateBatch

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

(継承元 DbConnection)
CanRaiseEvents

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

(継承元 Component)
ConnectionString

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

ConnectionTimeout

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

Container

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

(継承元 Component)
Database

現在のデータベース、または接続が開いてから使用するデータベースの名前を取得します。

DataSource

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

DbProviderFactory

この DbProviderFactoryDbConnection を取得します。

(継承元 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()

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

CreateDbBatch()

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

(継承元 DbConnection)
CreateDbCommand()

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

(継承元 DbConnection)
CreateObjRef(Type)

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

(継承元 MarshalByRefObject)
Dispose()

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

(継承元 DbConnection)
Dispose()

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

(継承元 Component)
Dispose(Boolean)

DbConnection によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 DbConnection)
Dispose(Boolean)

Component によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 Component)
DisposeAsync()

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

(継承元 DbConnection)
EnlistDistributedTransaction(ITransaction)

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

EnlistTransaction(Transaction)

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

EnlistTransaction(Transaction)

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

(継承元 DbConnection)
Equals(Object)

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

(継承元 Object)
GetHashCode()

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

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

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

(継承元 MarshalByRefObject)
GetSchema()

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

GetSchema()

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

(継承元 DbConnection)
GetSchema(String)

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

GetSchema(String)

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

(継承元 DbConnection)
GetSchema(String, String[])

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

GetSchema(String, String[])

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

(継承元 DbConnection)
GetSchemaAsync(CancellationToken)

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

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

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

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

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

(継承元 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 によってスローされる例外は、返されたタスクの Exception プロパティを介して通信されます。

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

(継承元 DbConnection)
ReleaseObjectPool()

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

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
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)

適用対象

こちらもご覧ください