Поделиться через


SqlCommand.RegisterColumnEncryptionKeyStoreProvidersOnCommand Метод

Определение

Регистрирует поставщиков хранилища ключей шифрования в экземпляре SqlCommand . Если эта функция была вызвана, все поставщики, зарегистрированные с помощью RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) методов или RegisterColumnEncryptionKeyStoreProvidersOnConnection(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 или пустой.

-или-

Значение SqlColumnEncryptionKeyStoreProvider в словаре равно NULL.

Строковый ключ в словаре начинается с "MSSQL_". Этот префикс зарезервирован для системных поставщиков.

Комментарии

Пользовательские поставщики хранилища главных ключей можно регистрировать в драйвере на трех разных уровнях. Ниже описывается, в какой очередности применяются эти три уровня регистрации.

  • Сначала проверяется, имеется ли регистрация на уровне команды.
  • Если она отсутствует, проверяется наличие регистрации на уровне подключения.
  • Если регистрация на уровне подключения отсутствует, проверяется глобальная регистрация.

После нахождения поставщика хранилища ключей на определенном уровне регистрации драйвер НЕ обращается к другим уровням для поиска поставщика. Если поставщики зарегистрированы, но соответствующий поставщик не найден на данном уровне, создается исключение, в котором указываются только зарегистрированные поставщики на проверенном уровне регистрации.

Встроенные поставщики хранилища главных ключей для столбцов, доступные для хранилища сертификатов Windows, хранилища CNG и CSP, зарегистрированы изначально.

При этом выполняется неглубокое копирование словаря, чтобы приложение не могло изменять настраиваемый список поставщиков после его установки.

Применяется к