次の方法で共有


SqlConnection.Open メソッド

定義

オーバーロード

Open()

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

Open(SqlConnectionOverrides)

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

Open()

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

public:
 override void Open();
public override void Open ();
override this.Open : unit -> unit
Public Overrides Sub Open ()

例外

データ ソースまたはサーバーを指定せずに接続を開くことはできません。

or

接続は既に開かれています。

接続を開くときに発生した接続レベルのエラー。 Number プロパティに値 18487 または 18488 が含まれている場合、指定したパスワードの有効期限が切れているか、リセットする必要があることを示しています。 詳細については、 ChangePassword(String, String) メソッドを参照してください。

app.config ファイルの <system.data.localdb> タグに、使用できないか、不明な要素が含まれています。

<localdbinstances> セクションに、同じ名前のエントリが 2 つ含まれています。

次の例では、 を SqlConnection作成し、それを開き、そのプロパティの一部を表示します。 接続はブロックの末尾で自動的に using 閉じられます。

using Microsoft.Data.SqlClient;

class Program1
{
    static void Main()
    {
        string s = GetConnectionString();

        OpenSqlConnection(s);
        Console.ReadLine();
    }

    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);
        }
    }

    static private string GetConnectionString()
    {
        // To avoid storing the connection string in your code, 
        // you can retrieve it from a configuration file, using the 
        // System.Configuration.ConfigurationSettings.AppSettings property 
        return "Data Source=(local);Initial Catalog=AdventureWorks;"
            + "Integrated Security=SSPI;";
    }
}

注釈

SqlConnection 使用可能な場合は、接続プールから開いている接続を描画します。 それ以外の場合は、SQL Serverのインスタンスへの新しい接続を確立します。

注意

SqlConnection スコープ外になった場合、閉じません。 そのため、 を呼び出 Closeして接続を明示的に閉じる必要があります。

注意

SQL Serverのインスタンスに接続し、TCP/IP 以外のプロトコルを使用しているときに 1433 以外のポート番号を指定すると、メソッドはOpen失敗します。 1433 以外のポート番号を指定するには、接続文字列に "server=machinename,port number" を含め、TCP/IP プロトコルを使用します。

注意

.NET Framework Data Provider for SQL Serverでは、SQL デバッグを有効にして を開SqlConnectionくには、"アンマネージ アセンブリへの呼び出しを許可する" が有効になっている (SecurityPermissionSecurityPermissionFlag を にUnmanagedCode設定) したセキュリティ アクセス許可が必要です。

適用対象

Open(SqlConnectionOverrides)

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

public:
 void Open(Microsoft::Data::SqlClient::SqlConnectionOverrides overrides);
public void Open (Microsoft.Data.SqlClient.SqlConnectionOverrides overrides);
override this.Open : Microsoft.Data.SqlClient.SqlConnectionOverrides -> unit
Public Sub Open (overrides As SqlConnectionOverrides)

パラメーター

overrides
SqlConnectionOverrides

既定の接続を開く動作をオーバーライドするオプション。

例外

データ ソースまたはサーバーを指定せずに接続を開くことはできません。

or

接続は既に開かれています。

接続を開くときに発生した接続レベルのエラー。 Number プロパティに値 18487 または 18488 が含まれている場合、指定したパスワードの有効期限が切れているか、リセットする必要があることを示しています。 詳細については、 ChangePassword(String, String) メソッドを参照してください。

app.config ファイルの <system.data.localdb> タグに、使用できないか、不明な要素が含まれています。

<localdbinstances> セクションに、同じ名前のエントリが 2 つ含まれています。

次の例では、 を SqlConnection作成し、それを開き、そのプロパティの一部を表示します。 接続はブロックの末尾で自動的に using 閉じられます。

using Microsoft.Data.SqlClient;

class Program1
{
    static void Main()
    {
        string s = GetConnectionString();

        OpenSqlConnection(s);
        Console.ReadLine();
    }

    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);
        }
    }

    static private string GetConnectionString()
    {
        // To avoid storing the connection string in your code, 
        // you can retrieve it from a configuration file, using the 
        // System.Configuration.ConfigurationSettings.AppSettings property 
        return "Data Source=(local);Initial Catalog=AdventureWorks;"
            + "Integrated Security=SSPI;";
    }
}

注釈

SqlConnection 使用可能な場合は、接続プールから開いている接続を描画します。 それ以外の場合は、SQL Serverのインスタンスへの新しい接続を確立します。 オーバーライドが指定されている場合、最初のオープン試行では、指定されたオーバーライドがオープン・アクションに適用されます。

注意

SqlConnection スコープ外になった場合、閉じません。 そのため、 を呼び出 Closeして接続を明示的に閉じる必要があります。

注意

SQL Serverのインスタンスに接続し、TCP/IP 以外のプロトコルを使用しているときに 1433 以外のポート番号を指定すると、メソッドはOpen失敗します。 1433 以外のポート番号を指定するには、接続文字列に "server=machinename,port number" を含め、TCP/IP プロトコルを使用します。

注意

.NET Framework Data Provider for SQL Serverでは、SQL デバッグを有効にして を開SqlConnectionくには、"アンマネージ アセンブリへの呼び出しを許可する" が有効になっている (SecurityPermissionSecurityPermissionFlag を にUnmanagedCode設定) したセキュリティ アクセス許可が必要です。

適用対象