SQL Server の接続文字列における Trusted_Connection と Integrated Security の違い
歴史的な経緯
- Trusted_Connection は、ODBC ドライバーで使用される古いキーワードです。
- Integrated Security は、OLE DB プロバイダーで導入された比較的新しく、より一般的なキーワードです。
どちらを選ぶべきか?
一般的には、Integrated Security を使用する方が推奨されています。これは、より新しいキーワードであり、ODBC と OLE DB の両方で使用できるためです。
接続文字列の例
以下に、Trusted_Connection と Integrated Security を使用した接続文字列の例を示します。
Trusted_Connection を使用する
Server=myServer;Database=myDatabase;Trusted_Connection=True;
Integrated Security を使用する
Server=myServer;Database=myDatabase;Integrated Security=SSPI;
- SSPI は、"Security Support Provider Interface" の略称です。これは、Windows が認証に使用する方法です。
- 接続文字列にユーザー名とパスワードを指定する場合は、Trusted_Connection または Integrated Security をfalse に設定する必要があります。
using System.Data.SqlClient;
namespace SqlConnectionExample
{
class Program
{
static void Main(string[] args)
{
// 接続文字列を作成します
string connectionString = "Server=myServer;Database=myDatabase;Integrated Security=SSPI;";
// SqlConnection オブジェクトを作成します
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 接続を開きます
connection.Open();
// SQL コマンドを作成します
SqlCommand command = new SqlCommand("SELECT * FROM Customers", connection);
// SQL コマンドを実行します
SqlDataReader reader = command.ExecuteReader();
// 結果を読み取ります
while (reader.Read())
{
Console.WriteLine(reader["CustomerID"] + " - " + reader["CustomerName"]);
}
// データリーダーを閉じます
reader.Close();
}
}
}
}
このコードを実行するには、Visual Studio などの開発環境が必要です。コードを実行する前に、接続文字列を自分の環境に合わせて変更する必要があります。
説明
using System.Data.SqlClient;
ステートメントは、SQL Server 用の ADO.NET データ プロバイダーへのアクセスを提供します。SqlConnection
オブジェクトは、SQL Server への接続を表します。connectionString
変数は、SQL Server への接続方法を指定する接続文字列を格納します。Open()
メソッドは、SqlConnection
オブジェクトへの接続を開きます。SqlCommand
オブジェクトは、SQL Server に送信する SQL コマンドを表します。ExecuteReader()
メソッドは、SQL コマンドを実行し、SqlDataReader
オブジェクトを返します。SqlDataReader
オブジェクトは、SQL コマンドの結果を表します。Read()
メソッドは、SqlDataReader
オブジェクト内の次の行を読み取ります。[]
演算子は、SqlDataReader
オブジェクトから列値を取得するために使用されます。Close()
メソッドは、SqlDataReader
オブジェクトを閉じます。SqlConnection
オブジェクトのusing
ステートメントは、SqlConnection
オブジェクトがスコープから外れたときに自動的に閉じられることを保証します。
SSMS は、SQL Server を管理および構成するためのグラフィカル ツールです。SSMS を使用して、SQL Server インスタンスに接続し、データベースを作成、編集、削除できます。また、SSMS を使用して、SQL クエリを実行し、データを表示および編集することもできます。
PowerShell
PowerShell は、タスクを自動化するために使用できるコマンドライン シェルおよびスクリプト言語です。PowerShell を使用して、SQL Server インスタンスに接続し、データベースを作成、編集、削除できます。また、PowerShell を使用して、SQL クエリを実行し、データを表示および編集することもできます。
Python
Python は、汎用プログラミング言語です。Pyodbc などのライブラリを使用して、Python から SQL Server に接続できます。Python を使用して、SQL クエリを実行し、データを表示および編集することもできます。
Java
C++
上記以外にも、SQL Server への接続に使用できる方法は数多くあります。使用する方法は、ニーズと好みによって異なります。
要約
sql-server connection-string