SQL Server の接続文字列における Trusted_Connection と Integrated Security の違い

2024-07-27

歴史的な経緯

  • 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 などの開発環境が必要です。コードを実行する前に、接続文字列を自分の環境に合わせて変更する必要があります。

説明

  1. using System.Data.SqlClient; ステートメントは、SQL Server 用の ADO.NET データ プロバイダーへのアクセスを提供します。
  2. SqlConnection オブジェクトは、SQL Server への接続を表します。
  3. connectionString 変数は、SQL Server への接続方法を指定する接続文字列を格納します。
  4. Open() メソッドは、SqlConnection オブジェクトへの接続を開きます。
  5. SqlCommand オブジェクトは、SQL Server に送信する SQL コマンドを表します。
  6. ExecuteReader() メソッドは、SQL コマンドを実行し、SqlDataReader オブジェクトを返します。
  7. SqlDataReader オブジェクトは、SQL コマンドの結果を表します。
  8. Read() メソッドは、SqlDataReader オブジェクト内の次の行を読み取ります。
  9. [] 演算子は、SqlDataReader オブジェクトから列値を取得するために使用されます。
  10. Close() メソッドは、SqlDataReader オブジェクトを閉じます。
  11. 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



SQL Serverで複数のユーザーがデータベースレコードを編集するその他の方法

最も基本的な方法は、レコードを編集する前にロックすることです。これにより、他のユーザーがレコードを編集するのを防ぐことができます。ロックの種類共有ロック: 他のユーザーがレコードを読み取ることはできますが、編集することはできません。ロックの取得方法...


ORDER BY句、WITH構文、PIVOT関数:SQL Serverで列を論理的に並べ替える3つのアプローチ

列の論理的な並べ替えを実現する方法はいくつかあります。ORDER BY句を使用する: これは、SELECTクエリで最も一般的な方法です。ORDER BY句を使用すると、結果セットを1つ以上の列に基づいて並べ替えることができます。各列には、昇順 (ASC) または降順 (DESC) のどちらかのソート方向を指定できます。...


サンプルコード: SQL Serverの永続性をxUnit.netでテストする

単体テストは、ソフトウェア開発において重要な役割を果たします。コードの各部分が独立して動作することを確認することで、コードの品質と信頼性を向上させることができます。TDDと永続性TDD(テスト駆動開発)は、単体テストを開発プロセスの中心に据えた開発手法です。TDDでは、コードを書く前にまずテストケースを作成します。テストケースが成功するまでコードを書き換え、最終的にすべてのテストケースが成功することを確認します。...


SQL Server で HashBytes を VarChar に変換するその他の方法

CAST 関数を使用するCAST 関数は、あるデータ型を別のデータ型に変換するために使用できます。 HashBytes を VarChar に変換するには、次のように CAST 関数を使用できます。この例では、HashBytes 関数は、パスワードの MD5 ハッシュをバイナリ値として返します。 CAST 関数は、このバイナリ値を 32 文字の VarChar 値に変換します。...


SQL、SQL Server、T-SQLにおける区切り文字で区切られた文字列の分割と個々の要素へのアクセス

問題: 区切り文字(例えば、カンマやセミコロン)で区切られた文字列を分割し、個々の要素にアクセスする方法を知りたい。解決策: SQL、SQL Server、T-SQLにおいては、組み込み関数やユーザー定義関数を利用することで、区切り文字で区切られた文字列を分割し、個々の要素にアクセスすることができます。...



SQL SQL SQL SQL Amazon で見る



SQL Server Profilerを使ってSQL Serverテーブルの変更をチェックする

Change Trackingは、テーブルレベルで変更されたデータを追跡する機能です。有効にすると、どの行が挿入、更新、削除されたかを追跡できます。メリット比較的軽量な機能設定が簡単クエリで変更内容を取得できる変更されたデータの内容は追跡できない


データ移行ツール、クラウドサービス、オープンソースツールを使って SQL Server 2005 から MySQL へデータを移行する

このチュートリアルでは、SQL Server 2005 から MySQL へデータを移行する方法について 3 つの方法を説明します。方法 1: SQL Server Management Studio を使用方法 2: bcp コマンドを使用


SQL Serverデータベースのバージョン管理:Subversion(SVN)との連携方法

この解説では、Subversion(SVN)と呼ばれるバージョン管理システムを用いて、SQL Serverデータベースのバージョン管理を行う方法について説明します。SVNは、ファイルやディレクトリのバージョン管理に広く用いられるオープンソースツールであり、データベースのバージョン管理にも活用できます。


SQL Server 6.5 からのアップグレードに関する専門家のサポート

SQL Server 6.5 は 2000 年にリリースされた古いバージョンであり、現在ではサポートされていません。最新の機能やセキュリティパッチを利用するためには、新しいバージョンへのアップグレードが必要です。アップグレード方法アップグレード方法はいくつかありますが、一般的には以下の 2 つの方法が選択されます。


INSERT INTOステートメントのIGNOREオプションでMySQL REPLACE INTOを代替

MySQLのREPLACE INTOコマンドは、SQL Server 2005では完全に同じように実装されていません。しかし、いくつかの代替方法を用いることで、同様の動作を実現することができます。REPLACE INTO とはREPLACE INTOは、INSERT INTOと似ていますが、以下の点が異なります。