SQL Server接続文字列のトークン "Trusted_Connection"と "Integrated Security"の違い(他のデータベース/ドライバーはこれらをサポートしていないと思います)。それらが同等であることを理解しています。
これらは相互の同義語であり、同じ意味で使用できます。
.Netには、 SqlConnectionStringBuilder というクラスがあります。これは、タイプセーフを使用してSQL Server接続文字列を処理するのに非常に便利です。文字列の一部を構築するプロパティ。このクラスは同義語の内部リストを保持するため、ある値から別の値にマッピングできます。
+ ---------------------- + --------------------- ---- + |価値|同義語| + ---------------------- + ------------------- ------ + |アプリ|アプリケーション名| |非同期|非同期処理| |拡張プロパティ| attachdbfilename | |初期ファイル名| attachdbfilename | |接続タイムアウト|接続タイムアウト| |タイムアウト|接続タイムアウト| |言語|現在の言語| | addr |データソース| |住所|データソース| |ネットワークアドレス|データソース| |サーバー|データソース| |データベース|初期カタログ| | trusted_connection |統合セキュリティ| |接続寿命|ロードバランスタイムアウト| |ネット|ネットワークライブラリ| |ネットワーク|ネットワークライブラリ| | pwd |パスワード| | persistsecurityinfo |セキュリティ情報を保持する| | uid |ユーザーID | |ユーザー|ユーザーID | | wsid |ワークステーションID | + ---------------------- + ------------------ ------- +
(Reflectorの助けを借りてコンパイル)
[〜#〜] odbc [〜#〜] および OleDb 接続文字列を処理するための他の同様のクラスがありますが、残念ながら他のデータベースベンダーには何もありません- onusは、そのような実装を提供するベンダーのライブラリにあります。
それらは同じです。
残念ながら、次のようないくつかのバリエーションがあります。
サーバー/データソース
データベース/初期カタログ
バリエーションの起源は定かではありませんが、一部は一般的なものであると想定しています(データベース中心ではないため、RDBMSに接続する場合とディレクトリサービスに接続する場合の接続文字列は非常に似ています)
それで少し後に、名前の衝突の起源を発見しました。トークンのセットはODBCとOLEDBに定義された別のセットで使用されていました。レガシーな理由からSql Serverの場合、両方を互換的にサポートしています。
Trusted_Connection = trueはODBCおよびIntegrated Security = SSPIはOLEDBでした。
私の場合、「Trusted_Connection」と「Integrated Security」の違いを発見しました。 Microsoft SQL Server 2005を使用しています。元々はWindowsログオンを使用していました(Integrated Security = SSPI)。しかし、ユーザーIDとパスワードを追加するSQL Server認証によってWindows認証を置き換えた場合、SSPIを「False」に置き換えることができませんでした。 「マルチステップOLE DB操作で生成されたエラー」が返されました。ただし、「Integrated Security = False」を「Trusted_Connection = no」に置き換えると、機能しました。