SqlConnection.Open SqlConnection.Open SqlConnection.Open SqlConnection.Open Method

定義

ConnectionString で指定したプロパティ設定を使用して、データベース接続を開きます。Opens a database connection with the property settings specified by the ConnectionString.

public:
 virtual void Open();
public void Open ();
abstract member Open : unit -> unit
override this.Open : unit -> unit
Public Sub Open ()

実装

例外

データ ソースまたはサーバーを指定せずに接続を開くことはできません。Cannot open a connection without specifying a data source or server.

oror

接続は既に開かれています。The connection is already open.

接続を開くときに発生した接続レベルのエラー。A connection-level error occurred while opening the connection. Number プロパティに値 18487 または 18488 が含まれている場合、指定したパスワードの有効期限が切れているか、リセットする必要があることを示しています。If the Number property contains the value 18487 or 18488, this indicates that the specified password has expired or must be reset. 詳細については、 ChangePassword(String, String) メソッドを参照してください。See the ChangePassword(String, String) method for more information.

app.config ファイルの <system.data.localdb> タグに、使用できないか、不明な要素が含まれています。The <system.data.localdb> tag in the app.config file has invalid or unknown elements.

<localdbinstances> セクションに、同じ名前のエントリが 2 つ含まれています。There are two entries with the same name in the <localdbinstances> section.

次の例ではSqlConnection、を作成して開き、そのプロパティの一部を表示します。The following example creates a SqlConnection, opens it, and displays some of its properties. 接続はusingブロックの最後に自動的に閉じられます。The connection is automatically closed at the end of the using block.

private static void OpenSqlConnection(string connectionString)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
        Console.WriteLine("State: {0}", connection.State);
    }
}
Private Sub OpenSqlConnection(ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        connection.Open()
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion)
        Console.WriteLine("State: {0}", connection.State)
    End Using
End Sub

注釈

SqlConnection 、接続プールが使用可能な場合は、接続プールから開いている接続を描画します。The SqlConnection draws an open connection from the connection pool if one is available. それ以外の場合は、SQL Server のインスタンスへの新しい接続を確立します。Otherwise, it establishes a new connection to an instance of SQL Server.

注意

SqlConnectionスコープ外に出ると、閉じられません。If the SqlConnection goes out of scope, it is not closed. そのため、を呼び出しCloseて、接続を明示的に閉じる必要があります。Therefore, you must explicitly close the connection by calling Close.

注意

SQL Server のインスタンスに接続しようとしていて、tcp/ip 以外のプロトコルを使用している場合に1433以外のポート番号を指定Openすると、メソッドは失敗します。If you specify a port number other than 1433 when you are trying to connect to an instance of SQL Server and using a protocol other than TCP/IP, the Open method fails. 1433以外のポート番号を指定するには、接続文字列に "server = machinename, port number" を含め、TCP/IP プロトコルを使用します。To specify a port number other than 1433, include "server=machinename,port number" in the connection string, and use the TCP/IP protocol.

注意

SQL Server の .NET Framework Data Provider では、"アンマネージアセンブリへの呼び出しを許可する" がSecurityPermission有効SecurityPermissionFlag (がUnmanagedCode SqlConnectionに設定されている) のセキュリティアクセス許可で、SQL デバッグが有効になっているを開くことができます。The .NET Framework Data Provider for SQL Server requires the Security permission with "Allows calls to unmanaged assemblies" enabled (SecurityPermission with SecurityPermissionFlag set to UnmanagedCode) to open a SqlConnection with SQL Debugging enabled.

適用対象

こちらもご覧ください