次の方法で共有


SqlCommand.RegisterColumnEncryptionKeyStoreProvidersOnCommand メソッド

定義

暗号化キー ストア プロバイダーをインスタンスに SqlCommand 登録します。 この関数が呼び出された場合、 メソッドまたは RegisterColumnEncryptionKeyStoreProvidersOnConnection(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) メソッドを使用してRegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>)登録されたプロバイダーはすべて無視されます。 この関数は複数回呼び出すことができます。 これにより、ディクショナリの簡易コピーが行われ、設定後にアプリでカスタム プロバイダー リストを変更できなくなります。

public:
 void RegisterColumnEncryptionKeyStoreProvidersOnCommand(System::Collections::Generic::IDictionary<System::String ^, Microsoft::Data::SqlClient::SqlColumnEncryptionKeyStoreProvider ^> ^ customProviders);
public void RegisterColumnEncryptionKeyStoreProvidersOnCommand (System.Collections.Generic.IDictionary<string,Microsoft.Data.SqlClient.SqlColumnEncryptionKeyStoreProvider> customProviders);
member this.RegisterColumnEncryptionKeyStoreProvidersOnCommand : System.Collections.Generic.IDictionary<string, Microsoft.Data.SqlClient.SqlColumnEncryptionKeyStoreProvider> -> unit
Public Sub RegisterColumnEncryptionKeyStoreProvidersOnCommand (customProviders As IDictionary(Of String, SqlColumnEncryptionKeyStoreProvider))

パラメーター

customProviders
IDictionary<String,SqlColumnEncryptionKeyStoreProvider>

カスタム列暗号化キー プロバイダーのディクショナリ

例外

null ディクショナリが指定されました。

または

ディクショナリ内の文字列キーが null または空でした。

または

SqlColumnEncryptionKeyStoreProviderディクショナリ内の値が null でした。

"MSSQL_" で始まるディクショナリ内の文字列キー。 このプレフィックスは、システム プロバイダー用に予約されています。

注釈

カスタム マスター キー ストア プロバイダーは、3 つの異なるレイヤーでドライバーに登録できます。 3 つの登録の優先順位は次のとおりです。

  • コマンドごとの登録が空でないかどうかが確認されます。
  • コマンドごとの登録が空の場合、接続ごとの登録が空でないかどうかが確認されます。
  • 接続ごとの登録が空の場合、グローバル登録が確認されます。

登録レベルでキー ストア プロバイダーが見つかると、ドライバーはプロバイダーを検索するために他の登録にフォール バックしません。 プロバイダーが登録されていても、適切なプロバイダーがレベルで見つからない場合、確認された登録内に登録されているプロバイダーのみを含む例外がスローされます。

Windows Certificate Store、CNG Store、CSP に使用できる組み込みの列マスター キー ストア プロバイダーは、事前登録されています。

これにより、ディクショナリの簡易コピーが行われ、設定後にアプリでカスタム プロバイダー リストを変更できなくなります。

適用対象