Свойства инициализации и авторизации

Поставщик 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.

ПримечаниеПримечание

Это свойство поддерживает только TCP и именованные каналы. Если указан префикс, то это приведет к образованию двойного префикса и вызовет ошибку, поскольку это свойство создает префиксы внутри себя.

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.

См. также

Основные понятия

Объекты источников данных (OLE DB)