次の方法で共有


OleDbConnection クラス

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

この型のすべてのメンバの一覧については、OleDbConnection メンバ を参照してください。

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Data.OleDb.OleDbConnection

NotInheritable Public Class OleDbConnection
   Inherits Component
   Implements ICloneable, IDbConnection
[C#]
public sealed class OleDbConnection : Component, ICloneable,
   IDbConnection
[C++]
public __gc __sealed class OleDbConnection : public Component,
   ICloneable, IDbConnection
[JScript]
public class OleDbConnection extends Component implements
   ICloneable, IDbConnection

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

OleDbConnection オブジェクトは、データ ソースへの一意な接続を表します。クライアント/サーバー データベース システムでは、サーバーへのネットワーク接続に相当します。ネイティブの OLE DB プロバイダがサポートする機能によっては、 OleDbConnection オブジェクトの一部のメソッド、またはプロパティが利用できないこともあります。

OleDbConnection のインスタンスを作成すると、すべてのプロパティが初期値に設定されます。これらの初期値の一覧については、 OleDbConnection コンストラクタのトピックを参照してください。

OleDbConnection は、適用範囲外では閉じられません。そのため、 Close または Dispose を呼び出して、明示的に接続を閉じる必要があります。

メモ   パフォーマンスの高いアプリケーションを配置するには、接続プールを使用する必要があります。.NET Framework Data Provider for OLE DB を使用する場合は、プロバイダが接続プールを自動的に管理するため、この機能を有効にする必要はありません。.NET Framework Data Provider for OLE DB による接続プールの使用の詳細については、「 .NET Framework Data Provider for OLE DB の接続プール 」を参照してください。

OleDbCommand を実行したメソッドで、致命的な OleDbException (SQL Server の重大度レベルが 20 以上など) が発生した場合は、 OleDbConnection 接続が閉じられることがあります。ただし、ユーザーが接続を再び開いて、処理を継続できます。

OleDbConnection オブジェクトのインスタンスを作成するアプリケーションは、宣言セキュリティまたは強制セキュリティの要求を設定することによって、直接的または間接的な呼び出し元すべてに対して、コードへの適切なアクセス許可を要求できます。 OleDbConnection は、 OleDbPermission オブジェクトを使用して、セキュリティ要求を作成します。ユーザーは、 OleDbPermissionAttribute オブジェクトを使用して、コードに適切なアクセス許可が設定されているかどうかを確認できます。また、ユーザーおよび管理者は、 コード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用して、コンピュータ、ユーザー、エンタープライズの各レベルでセキュリティ ポリシーを変更できます。詳細については、「 アプリケーションの保護 」を参照してください。

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

メモ    OleDbConnection オブジェクトでは、OLE DB プロバイダ固有の動的プロパティの設定または取得はサポートしていません。OLE DB プロバイダの接続文字列で渡されるプロパティだけをサポートしています。

使用例

[Visual Basic, C#, C++] OleDbCommand および OleDbConnection を作成する例を次に示します。 OleDbConnection を開き、 OleDbCommandConnection として設定します。次に、 ExecuteNonQuery を呼び出し、接続を閉じます。この例では、 ExecuteNonQuery に、接続文字列と SQL INSERT ステートメントのクエリ文字列が渡されます。

 
Public Sub InsertRow(myConnectionString As String)
    ' If the connection string is null, use a default.
    If myConnectionString = "" Then
        myConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;"
    End If
    Dim myConnection As New OleDbConnection(myConnectionString)
    Dim myInsertQuery As String = "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"
    Dim myCommand As New OleDbCommand(myInsertQuery)
    myCommand.Connection = myConnection
    myConnection.Open()
    myCommand.ExecuteNonQuery()
    myCommand.Connection.Close()
End Sub

[C#] 
public void InsertRow(string myConnectionString) 
{
   // If the connection string is null, use a default.
   if(myConnectionString == "") 
   {
      myConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=Northwind;" + 
      "Integrated Security=SSPI;";
   }
   OleDbConnection myConnection = new OleDbConnection(myConnectionString);
   string myInsertQuery = "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
   OleDbCommand myCommand = new OleDbCommand(myInsertQuery);
   myCommand.Connection = myConnection;
   myConnection.Open();
   myCommand.ExecuteNonQuery();
   myCommand.Connection.Close();
}

[C++] 
public:
 void InsertRow(String* myConnectionString) 
 {
    // If the connection string is null, use a default.
    if(myConnectionString->Equals(S"")) 
    {
       myConnectionString = S"Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=Northwind;"  
       S"Integrated Security=SSPI;";
    }
    OleDbConnection* myConnection = new OleDbConnection(myConnectionString);
    String* myInsertQuery = S"INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
    OleDbCommand* myCommand = new OleDbCommand(myInsertQuery);
    myCommand->Connection = myConnection;
    myConnection->Open();
    myCommand->ExecuteNonQuery();
    myCommand->Connection->Close();
 }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Data.OleDb

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Data (System.Data.dll 内)

参照

OleDbConnection メンバ | System.Data.OleDb 名前空間 | OleDbDataAdapter | OleDbCommand