ADO.NET での SQL Server への接続
.NET Framework Data Provider for SQL Server は、SqlConnection オブジェクトを使用して、Microsoft SQL Server Version 7.0 以降への接続を提供します。
.NET Framework Data Provider for SQL Server は、OLE DB (ADO) 接続文字列フォーマットに似た接続文字列フォーマットをサポートします。有効な文字列フォーマットの名前および値については、「ConnectionString プロパティ」を参照してください。
SQL Server (Version 7.0 以降) データベースへの接続を開いて確立する方法を次のサンプル コードに示します。
Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;Integrated Security=SSPI;" & _
"Initial Catalog=northwind")
nwindConn.Open()
[C#]
SqlConnection nwindConn = new SqlConnection("Data Source=localhost; Integrated Security=SSPI;" +
"Initial Catalog=northwind");
nwindConn.Open();
接続の終了
接続がプールに返されるようにするために、接続を使い終えたら必ず Connection を終了することをお勧めします。これを行うには、Connection オブジェクトの Close メソッドまたは Dispose メソッドを使用します。明示的に終了されていない接続は、プールに追加したり返したりすることができないことがあります。たとえば、スコープ外に出ても、明示的に終了されていない接続は、最大プール サイズに達した時点でその接続がまだ有効である場合にだけ接続プールに返されます。
メモ クラスの Finalize メソッド内で Connection、DataReader、またはその他のマネージ オブジェクトの Close または Dispose を呼び出さないでください。終了処理では、クラスに直接所有されているアンマネージ リソースだけを解放してください。クラスがアンマネージ リソースを所有していない場合は、クラス定義に Finalize メソッドを含めないでください。詳細については、「ガベージ コレクションのプログラミング」を参照してください。
統合セキュリティと ASP.NET
SQL Server 統合セキュリティ (信頼関係接続とも呼ばれます) は、SQL Server への接続を保護します。接続文字列でユーザー ID とパスワードを公開することがなく、接続の認証用に推奨されている方法でもあるためです。統合セキュリティでは、実行中のプロセスの現在のセキュリティ ID またはトークンを使用します。これは、デスクトップ アプリケーションではほとんどの場合、現在ログオンしているユーザーの ID です。
ASP.NET アプリケーションのセキュリティ ID は、他のオプションのうちのいずれかに設定することもできます。統合セキュリティを使用して SQL Server に接続するときに ASP.NET アプリケーションが使用するセキュリティ ID の詳細については、「Windows 統合セキュリティを使用した SQL Server へのアクセス」を参照してください。
参照
.NET Framework データ プロバイダによるデータのアクセス | SqlConnection クラス | System.Data.SqlClient