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

Поставщик OLE DB для собственного клиента SQL Server интерпретирует свойства инициализации и авторизации OLE DB следующим образом.

Cвойство

Description

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 указывается в виде \\Имя_сервера\имя_экземпляра. Escape-последовательность \\ используется в качестве косой черты.

DBPROP_INIT_GENERALTIMEOUT

Указывает количество секунд перед истечением времени запроса, отличного от инициализации источника данных и выполнения команды. Значение 0 указывает на бесконечное время ожидания. Поставщики, работающие через сетевые соединения, в распределенных сценариях или сценариях транзакций, могут поддерживать это свойство, чтобы принудительно сократить время ожидания задействованного компонента в случае долгого выполнения запроса. Сроки ожидания для инициализации источников данных или выполнения команд продолжают управляться соответственно свойствами DBPROP_INIT_TIMEOUT и DBPROP_COMMANDTIMEOUT.

Свойство DBPROP_INIT_GENERALTIMEOUT доступно только для чтения, и при попытке его задать возвращается ошибка dwstatus DBPROPSTATUS_NOTSETTABLE.

DBPROP_INIT_HWND

Дескриптор окна из вызывающего приложения. Допустимый дескриптор окна требуется для инициализации диалогового окна, которое отображается, если разрешен запрос свойств инициализации.

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войство

Description

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. Для этого необходимо, чтобы на клиенте была доступна такая же ACP, какая используется на сервере.

Следующие параметры не влияют на преобразования, выполняемые для этих передач.

Данные переменной 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 Object (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 не присоединяет ее снова. Этот параметр допустим только при подключении к SQL Server 2000 или более поздней версии.

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, или при освобождении всех ссылок приложения на команду.

ПримечаниеПримечание
Поставщик OLE DB для собственного клиента SQL Server не поддерживает подключение к SQL Server 6.5 и более ранним версиям.

SSPROP_INIT_WSID

Тип: VT_BSTR.

Чтение-запись: Чтение и запись

Описание: Строка, указывающая рабочую станцию.

В специфическом для поставщика наборе свойств DBPROPSET_SQLSERVERDATASOURCEINFO поставщик OLE DB для собственного клиента SQL Server определяет эти дополнительные свойства. Дополнительные сведения см. в разделе Свойства сведений об источнике данных.

Строка поставщика OLE DB для собственного клиента SQL Server

Поставщик OLE DB для собственного клиента SQL Server распознает синтаксис ODBC в значениях свойств строки поставщика. Свойство строки поставщика задается как значение свойства инициализации OLE DB, 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.

См. также

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