Свойства инициализации и авторизации
Поставщик OLE DB для собственного клиента SQL Server интерпретирует свойства инициализации и авторизации OLE DB следующим образом.
Cвойство |
Описание |
---|---|
DBPROP_AUTH_CACHE_AUTHINFO |
Поставщик OLE DB для собственного клиента SQL Server не кэширует данные для проверки подлинности. При попытке задать значение этого свойства поставщик OLE DB для собственного клиента SQL Server возвращает значение DB_S_ERRORSOCCURRED. Элемент dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_AUTH_ENCRYPT_PASSWORD |
Поставщик OLE DB для собственного клиента SQL Server использует стандартный механизм защиты Microsoft SQL Server для скрытия паролей. При попытке задать значение этого свойства поставщик OLE DB для собственного клиента SQL Server возвращает значение DB_S_ERRORSOCCURRED. Элемент dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_AUTH_INTEGRATED |
Если DBPROP_AUTH_INTEGRATED имеет значение NULL, пустой строки или значение «SSPI» типа VT_BSTR, то поставщик OLE DB для собственного клиента SQL Server использует для авторизации доступа пользователя к базе данных SQL Server, указанной в свойствах DBPROP_INIT_DATASOURCE и DBPROP_INIT_CATALOG, механизм проверки подлинности Windows. Если задано значение VT_EMPTY (по умолчанию), то используется безопасность SQL Server. Имя входа в SQL Server и пароль указываются в свойствах DBPROP_AUTH_USERID и DBPROP_AUTH_PASSWORD. |
DBPROP_AUTH_MASK_PASSWORD |
Поставщик OLE DB для собственного клиента SQL Server использует стандартный механизм безопасности SQL Server для скрытия паролей. При попытке задать значение этого свойства поставщик OLE DB для собственного клиента SQL Server возвращает значение DB_S_ERRORSOCCURRED. Элемент dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_AUTH_PASSWORD |
Пароль назначается для имени входа в SQL Server. Когда выбрана проверка подлинности SQL Server, это свойство используется для авторизации доступа к базе данных SQL Server. |
DBPROP_AUTH_PERSIST_ENCRYPTED |
Поставщик OLE DB для собственного клиента SQL Server не шифрует данные проверки подлинности при сохранении. При попытке задать значение этого свойства поставщик OLE DB для собственного клиента SQL Server возвращает значение DB_S_ERRORSOCCURRED. Элемент dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO |
Поставщик OLE DB для собственного клиента SQL Server сохраняет значения для проверки подлинности, включая образ пароля (если указано). Шифрование не предусмотрено. |
DBPROP_AUTH_USERID |
Имя входа в SQL Server. Когда выбрана проверка подлинности SQL Server, это свойство используется для авторизации доступа к базе данных SQL Server. |
DBPROP_INIT_ASYNCH |
Поставщик OLE DB для собственного клиента SQL Server поддерживает асинхронную инициализацию. При установке разряда DBPROPVAL_ASYNCH_INITIALIZE в свойстве DBPROP_INIT_ASYNCH метод IDBInitialize::Initialize становится неблокирующим вызовом. Дополнительные сведения см. в разделе Выполнение асинхронных операций. |
DBPROP_INIT_CATALOG |
Имя существующей базы данных SQL Server, к которой выполняется подключение. |
DBPROP_INIT_DATASOURCE |
Сетевое имя сервера, на котором запущен экземпляр Microsoft SQL Server. Если на компьютере запущено несколько экземпляров SQL Server, то для подключения к определенному экземпляру SQL Server значение DBPROP_INIT_DATASOURCE указывается в формате \\ServerName\InstanceName. Вместо обратной косой черты используется escape-последовательность (\\). |
DBPROP_INIT_GENERALTIMEOUT |
Указывает количество секунд до истечения времени запроса, кроме инициализации источника данных и выполнения команды. Значение 0 указывает на бесконечное время ожидания. Поставщики, работающие через сетевые соединения, в распределенных сценариях или сценариях на основе транзакций, могут реализовать поддержку этого свойства, чтобы принудительно сократить время ожидания задействованного компонента в случае длительного выполнения запроса. Временем ожидания для инициализации источника данных или выполнения команд по-прежнему управляют свойства DBPROP_INIT_TIMEOUT и DBPROP_COMMANDTIMEOUT, соответственно. Свойство DBPROP_INIT_GENERALTIMEOUT доступно только для чтения, и при попытке присвоить ему значение в dwstatus возвращается ошибка DBPROPSTATUS_NOTSETTABLE. |
DBPROP_INIT_HWND |
Дескриптор Windows из вызывающего приложения. Действительный дескриптор окна необходим для инициализации диалогового окна, если разрешен запрос свойств инициализации. |
DBPROP_INIT_IMPERSONATION_LEVEL |
Поставщик OLE DB для собственного клиента SQL Server не поддерживает корректировку уровня олицетворения. При попытке задать значение этого свойства поставщик OLE DB для собственного клиента SQL Server возвращает значение DB_S_ERRORSOCCURRED. Элемент dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_INIT_LCID |
Поставщик OLE DB для собственного клиента SQL Server производит проверку кода локали и возвращает ошибку, если код локали не поддерживается или не установлен на клиенте. |
DBPROP_INIT_LOCATION |
При попытке задать значение этого свойства поставщик OLE DB для собственного клиента SQL Server возвращает значение DB_S_ERRORSOCCURRED. Элемент dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_INIT_MODE |
При попытке задать значение этого свойства поставщик OLE DB для собственного клиента SQL Server возвращает значение DB_S_ERRORSOCCURRED. Элемент dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_INIT_PROMPT |
Поставщик OLE DB для собственного клиента SQL Server поддерживает все режимы запросов на инициализацию источника данных. Поставщик OLE DB для собственного клиента SQL Server по умолчанию использует для этого свойства значение DBPROMPT_NOPROMPT. |
DBPROP_INIT_PROTECTION_LEVEL |
Поставщик OLE DB для собственного клиента SQL Server не поддерживает уровень защиты для соединения с экземпляром SQL Server. При попытке задать значение этого свойства поставщик OLE DB для собственного клиента SQL Server возвращает значение DB_S_ERRORSOCCURRED. Элемент dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_INIT_PROVIDERSTRING |
См. строку поставщика OLE DB для собственного клиента SQL Server ниже в этом разделе. |
DBPROP_INIT_TIMEOUT |
Поставщик OLE DB для собственного клиента SQL Server возвращает ошибку при инициализации, если в течение указанного количества секунд не удалось установить соединение с экземпляром SQL Server. |
В определяемом поставщиком наборе свойств DBPROPSET_SQLSERVERDBINIT поставщик OLE DB для собственного клиента SQL Server определяет следующие дополнительные свойства инициализации.
Cвойство |
Описание |
||
---|---|---|---|
SSPROP_AUTH_OLD_PASSWORD |
Тип: VT_BSTR Чтение-запись: запись По умолчанию: VT_EMPTY Описание: Текущий пароль или пароль с истекшим сроком действия. Дополнительные сведения см. в разделе Смена пароля программным способом. |
||
SSPROP_INIT_APPNAME |
Тип: VT_BSTR Чтение-запись: чтение и запись Описание: Имя клиентского приложения. |
||
SSPROP_INIT_AUTOTRANSLATE |
Тип: VT_BOOL Чтение-запись: чтение и запись По умолчанию: VARIANT_TRUE Описание: Преобразование символов OEM/ANSI. VARIANT_TRUE: Поставщик OLE DB для собственного клиента SQL Server преобразует символьные строки ANSI, отправляемые с клиента на сервер и обратно (через Юникод), чтобы свести к минимуму проблемы сопоставления символов национального алфавита в кодовых страницах на клиенте и сервере. Данные типа DBTYPE_STR, передаваемые в переменную, параметр или столбец на экземпляре SQL Server, имеющий тип char, varchar или text, преобразуются в Юникод с использованием кодовой страницы ANSI (ACP) клиента, а затем преобразуются из Юникода в символьную строку с использованием ACP сервера. Данные SQL Server char, varchar или text, передаваемые в переменную DBTYPE_STR на клиенте, преобразуются в Юникод с использованием ACP сервера, а затем из Юникода — в символьную строку с использованием ACP клиента. Эти преобразования выполняются на клиенте поставщиком OLE DB для собственного клиента SQL Server. Для этого на клиенте должна быть доступна та же кодовая страница, что используется на сервере. Следующие параметры не влияют на преобразования, выполняемые для этих передач. Данные переменной типа DBTYPE_WSTR в Юникоде передаются с клиента на сервер в объекты типа char, varchar или text. Данные типов char, varchar илиtext с сервера на клиент передаются в переменные типа DBTYPE_WSTR в Юникоде. Данные переменных типа DBTYPE_WSTR в кодировке ANSI передаются с клиента на сервер в Юникоде в переменные типа nchar, nvarchar или text. Данные в Юникоде типов char, varchar или text с сервера на клиент передаются в переменные типа DBTYPE_WSTR в кодировке ANSI. VARIANT_FALSE: Поставщик OLE DB для собственного клиента SQL Server не выполняет преобразование символов. Поставщик OLE DB для собственного клиента SQL Server не выполняет преобразование клиентских данных из переменных типа DBTYPE_STR в кодировке ANSI при передаче в переменные, параметры или столбцы типов char, varchar или text на сервере. Преобразование данных типов char, varchar или text при передаче с сервера на клиент в переменные DBTYPE_STR не выполняется. Если на клиенте и на экземпляре SQL Server используются разные ACP, то символы национальных алфавитов могут быть преобразованы неправильно. |
||
SSPROP_INIT_CURRENTLANGUAGE |
Тип: VT_BSTR Чтение-запись: чтение и запись Описание: Название языка SQL Server. Указывает язык, используемый для выбора и форматирования системных сообщений. Язык должен быть установлен на компьютере, на котором запущен экземпляр SQL Server, в противном случае инициализация источника данных не будет выполнена. |
||
SSPROP_INIT_DATATYPECOMPATIBILITY |
Тип: VT_UI2 Чтение-запись: чтение и запись По умолчанию: 0 Описание: Обеспечивает совместимость типов данных между SQL Server и приложениями ActiveX Data Objects (ADO). Если установлено значение 0 (по умолчанию), то используется та же обработка типов данных, которая применяется поставщиком. Если установлено значение 80, то для обработки типов данных используются только типы данных SQL Server 2000. Дополнительные сведения см. в разделе Использование ADO с собственным клиентом SQL Server. |
||
SSPROP_INIT_ENCRYPT |
Тип: VT_BOOL Чтение-запись: чтение и запись По умолчанию: VARIANT_FALSE Описание: Чтобы включить шифрование передаваемых по сети данных, необходимо присвоить свойству SSPROP_INIT_ENCRYPT значение VARIANT_TRUE. Если включено принудительное шифрование протокола, то шифрование данных производится всегда, независимо от значения SSPROP_INIT_ENCRYPT. Если оно отключено, а для свойства SSPROP_INIT_ENCRYPT задано значение VARIANT_TRUE, то шифрование будет выполняться. Если шифрование протокола отключено, а для свойства SSPROP_INIT_ENCRYPT задано значение VARIANT_FALSE, то шифрование не будет выполняться. |
||
SSPROP_INIT_FAILOVERPARTNER |
Тип: VT_BSTR Чтение-запись: чтение и запись Описание: Указывает имя партнера по обеспечению отработки отказа для зеркального отображения базы данных. Является свойством инициализации и может быть задано только перед инициализацией. После инициализации оно будет возвращать имя партнера по обеспечению отработки отказа (если есть), возвращенное сервером-источником. Это позволяет смарт-приложениям кэшировать последний определенный сервер резервного копирования, однако они должны учитывать, что данные обновляются только при первом установлении соединения (или при возобновлении, при наличии пула) и могут устареть в случае длительных соединений. После установления соединения приложение может запросить этот атрибут, чтобы идентифицировать партнера по обеспечению отработки отказа. Если сервер-источник не имеет партнера по обеспечению отработки отказа, то это свойство вернет пустую строку. Дополнительные сведения см. в разделе Использование зеркального отображения базы данных. |
||
SSPROP_INIT_FILENAME |
Тип: VT_BSTR Чтение-запись: чтение и запись Описание: Указывает имя первичного файла присоединяемой базы данных. Эта база данных присоединяется и становится для соединения базой данных по умолчанию. Перед использованием свойства SSPROP_INIT_FILENAME необходимо указать имя базы данных в свойстве инициализации DBPROP_INIT_CATALOG. Если имя базы данных не существует, то выполняется поиск имени первичного файла, указанного в свойстве SSPROP_INIT_FILENAME, и присоединяется база данных с именем, указанным в свойстве DBPROP_INIT_CATALOG. Если база данных уже была присоединена, то SQL Server ее снова не присоединяет. |
||
SSPROP_INIT_MARSCONNECTION |
Тип: VT_BOOL Чтение-запись: чтение и запись По умолчанию: VARIANT_FALSE Описание: Указывает, включен ли для соединения режим MARS. Перед установлением соединения с базой данных этот параметр должен быть установлен в значение true. Дополнительные сведения см. в разделе Использование режима MARS. |
||
SSPROP_INIT_NETWORKADDRESS |
Тип: VT_BSTR Чтение-запись: чтение и запись Описание: Сетевой адрес сервера, на котором запущен экземпляр SQL Server, указанный в свойстве DBPROP_INIT_DATASOURCE. |
||
SSPROP_INIT_NETWORKLIBRARY |
Тип: VT_BSTR Чтение-запись: чтение и запись Описание: Имя сетевой библиотеки (DLL), используемой для связи с экземпляром SQL Server. Не должно включать путь или расширение DLL. Значение по умолчанию можно настроить с помощью средства настройки клиента SQL Server.
|
||
SSPROP_INIT_PACKETSIZE |
Тип: VT_I4 Чтение-запись: чтение и запись Описание: Размер сетевого пакета в байтах. Значение свойства «размер пакета» должно находиться в диапазоне от 512 до 32 767. По умолчанию для поставщика OLE DB собственного клиента SQL Server свойство «размер сетевого пакета» имеет значение 4 096. |
||
SSPROP_INIT_TAGCOLUMNCOLLATION |
Тип: BOOL Чтение-запись: запись По умолчанию: FALSE Описание: Используется при обновлении базы данных, если применяются курсоры на стороне сервера. Это свойство добавляет к данным сведения о параметрах сортировки, полученные с сервера, а не кодовую страницу клиента. В настоящее время это свойство используется только процессом обработки распределенных запросов, поскольку он знает параметры сортировки данных назначения и может правильно их преобразовать. |
||
SSPROP_INIT_TRUST_SERVER_CERTIFICATE |
Тип: VT_BOOL Чтение-запись: чтение и запись По умолчанию: VARIANT_FALSE Описание: Используется для включения и отключения проверки сертификата сервера. Это свойство доступно для чтения и записи, но попытка его установки после установления соединения приведет к ошибке. Это свойство не используется, если на клиенте настроен запрос проверки сертификата. Однако приложение может использовать его вместе со свойством SSPROP_INIT_ENCRYPT, чтобы обеспечить шифрование соединения с сервером, даже если на клиенте не установлен сертификат и не настроен запрос проверки сертификата. Клиентские приложения могут запрашивать это свойство после открытия соединения для получения используемых параметров шифрования и проверки.
Дополнительные сведения см. в разделе Использование шифрования без проверки. |
||
SSPROP_INIT_USEPROCFORPREP |
Тип: VT_I4 Чтение-запись: чтение и запись По умолчанию: SSPROPVAL_USEPROCFORPREP_ON Описание: Использование хранимой процедуры SQL Server. Определяет использование временных хранимых процедур SQL Server для поддержки интерфейса ICommandPrepare. Это свойство имело значение только при соединении с сервером SQL Server 6.5. Для более поздних версий это свойство не используется. SSPROPVAL_USEPROCFORPREP_OFF: Временная хранимая процедура не создается при подготовке команды. SSPROPVAL_USEPROCFORPREP_ON Временная хранимая процедура создается при подготовке команды. Временные хранимые процедуры удаляются при освобождении сеанса. SSPROPVAL_USEPROCFORPREP_ON_DROP: Временная хранимая процедура создается при подготовке команды. Процедура удаляется при отмене подготовки команды методом ICommandPrepare::Unprepare, при определении новой команды для объекта команды методом ICommandText::SetCommandText или при освобождении приложением всех ссылок на команду. |
||
SSPROP_INIT_WSID |
Тип: VT_BSTR Чтение-запись: чтение и запись Описание: строка, идентифицирующая рабочую станцию. |
В определяемом поставщиком наборе свойств DBPROPSET_SQLSERVERDATASOURCEINFO поставщик OLE DB для собственного клиента SQL Server определяет эти дополнительные свойства. Дополнительные сведения см. в разделе Свойства сведений об источнике данных.
Строка поставщика OLE DB для собственного клиента SQL Server
Поставщик OLE DB для собственного клиента SQL Server распознает синтаксис ODBC в значениях свойств строки поставщика. Свойство строки поставщика задается как значение свойства инициализации DBPROP_INIT_PROVIDERSTRING при установлении соединения с источником данных OLE DB. Это свойство содержит данные для подключения, определяемые поставщиком OLE DB и необходимые для установления соединения с источником данных OLE DB. В этой строке элементы разделяются точкой с запятой. За последним элементом в строке также должна стоять точка с запятой. Каждый элемент состоит из ключевого слова, символа «=» и значения, переданного при инициализации. Например:
Server=MyServer;UID=MyUserName;
Потребитель не должен использовать свойство строки поставщика с поставщиком OLE DB для собственного клиента SQL Server. Потребитель может задать любое свойство инициализации, отраженное в строке поставщика, с помощью свойств инициализации, определяемых поставщиком OLE DB или поставщиком OLE DB для собственного клиента SQL Server.
Список ключевых слов, доступных в поставщике OLE DB для собственного клиента SQL Server, см. в разделе Использование ключевых слов строки подключения с собственным клиентом SQL Server.