Бөлісу құралы:


Свойства инициализации и авторизации (поставщик OLE DB собственного клиента)

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

Внимание

Собственный клиент SQL Server (часто сокращенный SNAC) был удален из SQL Server 2022 (16.x) и SQL Server Management Studio 19 (SSMS). Поставщик OLE DB собственного клиента SQL Server (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для новой разработки. Перейдите на новый драйвер Microsoft OLE DB (MSOLEDBSQL) для SQL Server .

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

Идентификатор свойства 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, строка NULL или значение SSPI VT_BSTR, поставщик OLE DB sql Server Native Client использует режим проверки подлинности Windows для авторизации доступа пользователей к базе данных SQL Server, заданной DBPROP_INIT_DATASOURCE и свойствами DBPROP_INIT_CATALOG.

Если задано значение 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 Дескриптор 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 Native Client определяет эти дополнительные свойства инициализации.

Идентификатор свойства Description
SSPROP_AUTH_OLD_PASSWORD Тип: VT_BSTR

R/W: запись

По умолчанию: VT_EMPTY

Описание: текущий или истекший срок действия пароля. Дополнительные сведения см. в статье Смена пароля программным способом.
SSPROP_INIT_APPNAME Тип: VT_BSTR

R/W: чтение и запись

Описание: имя клиентского приложения.
SSPROP_INIT_AUTOTRANSLATE Тип: VT_BOOL

R/W: чтение и запись

По умолчанию: VARIANT_TRUE

Описание: преобразование символов OEM/ANSI.

VARIANT_TRUE. Поставщик OLE DB собственного клиента SQL Server преобразует строки символов ANSI, отправленные между клиентом и сервером, преобразовав с помощью Юникода, чтобы свести к минимуму проблемы при сопоставлении расширенных символов между кодовыми страницами на клиенте и сервере:

Клиентские DBTYPE_STR данные, отправленные экземпляру sql Serverchar, varchar или текстовой переменной, параметром или столбцом, преобразуются из символа в Юникод с помощью клиентской кодовой страницы ANSI (ACP), а затем преобразуются из Юникода в символ с помощью ACP сервера.

Sql Server char, varchar или текстовые данные, отправленные клиенту, DBTYPE_STR переменная преобразуется из символа в Юникод с помощью сервера ACP, а затем преобразуется из Юникода в символ с помощью клиентского ACP.

Эти преобразования выполняются на клиенте поставщиком OLE DB собственного клиента SQL Server. Для этого на клиенте должна быть доступна та же кодовая страница, что используется на сервере.

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

Данные переменной типа DBTYPE_WSTR в Юникоде передаются из клиента на сервер в объекты типа char, varchar или text.

Данные типов char, varchar или text передаются с сервера в клиент в переменные типа DBTYPE_WSTR в Юникоде.

Данные переменных типа DBTYPE_WSTR в кодировке ANSI передаются из клиента на сервер в Юникоде в переменные типа nchar, nvarchar или ntext.

Данные в Юникоде типов char, varchar или text передаются с сервера в клиент в переменные типа DBTYPE_WSTR в кодировке ANSI.

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

Поставщик OLE DB собственного клиента SQL Server не преобразует символы ANSI клиента, DBTYPE_STR данные, отправленные в char, varchar или текстовые переменные, параметры или столбцы на сервере. Преобразование данных типов char, varchar или text при передаче с сервера в клиент в переменные DBTYPE_STR не выполняется.

Если клиент и экземпляр SQL Server используют разные APS, расширенные символы могут быть неправильно интерпретированы.
SSPROP_INIT_CURRENTLANGUAGE Тип: VT_BSTR

R/W: чтение и запись

Описание: имя языка SQL Server. Указывает язык, используемый для выбора и форматирования системных сообщений. Язык должен быть установлен на компьютере под управлением экземпляра SQL Server или инициализации источника данных.
SSPROP_INIT_DATATYPECOMPATIBILITY Тип: VT_UI2

R/W: чтение и запись

По умолчанию: 0

Описание. Включает совместимость типов данных между приложениями SQL Server и ActiveX Data Object (ADO). Если установлено значение 0 (по умолчанию), то используется та же обработка типов данных, которая применяется поставщиком. Если используется значение 80, обработка типов данных использует только типы данных SQL Server 2000 (8.x). Дополнительные сведения см. в статье Об использовании ADO с собственным клиентом SQL Server.
SSPROP_INIT_ENCRYPT Тип: VT_BOOL

R/W: чтение и запись

По умолчанию: 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

R/W: чтение и запись

Описание: указывает имя партнера по обеспечению отработки отказа для зеркального отображения базы данных. Является свойством инициализации и может быть задано только перед инициализацией. После инициализации оно будет возвращать имя партнера по обеспечению отработки отказа (если есть), возвращенное сервером-источником.

Это позволяет смарт-приложениям кэшировать последний определенный сервер резервного копирования, однако они должны учитывать, что данные обновляются только при первом установлении соединения (или при возобновлении, при наличии пула) и могут устареть в случае длительных соединений.

После установления соединения приложение может запросить этот атрибут, чтобы идентифицировать партнера по обеспечению отработки отказа. Если сервер-источник не имеет партнера по обеспечению отработки отказа, то это свойство вернет пустую строку. Дополнительные сведения см. в статье Зеркальное отображение базы данных.
SSPROP_INIT_FILENAME Тип: VT_BSTR

R/W: чтение и запись

Описание: указывает имя первичного файла присоединяемой базы данных. Эта база данных присоединяется и становится для соединения базой данных по умолчанию. Перед использованием свойства SSPROP_INIT_FILENAME необходимо указать имя базы данных в свойстве инициализации DBPROP_INIT_CATALOG. Если имя базы данных не существует, то выполняется поиск имени первичного файла, указанного в свойстве SSPROP_INIT_FILENAME, и присоединяется база данных с именем, указанным в свойстве DBPROP_INIT_CATALOG. Если база данных была подключена ранее, SQL Server не повторно прикрепить ее.
SSPROP_INIT_MARSCONNECTION Тип: VT_BOOL

R/W: чтение и запись

По умолчанию: VARIANT_FALSE

Описание: указывает, включен ли для подключения множественный активный результирующий набор (MARS). Перед установлением соединения с базой данных этот параметр должен быть установлен в значение true. Дополнительные сведения см. в разделе Использование множественных активных результирующих наборов (MARS).
SSPROP_INIT_NETWORKADDRESS Тип: VT_BSTR

R/W: чтение и запись

Описание. Сетевой адрес сервера, на котором выполняется экземпляр SQL Server, указанный свойством DBPROP_INIT_DATASOURCE.
SSPROP_INIT_NETWORKLIBRARY Тип: VT_BSTR

R/W: чтение и запись

Описание. Имя сетевогоlibrary (DLL), используемое для взаимодействия с экземпляром SQL Server. Не должно включать путь или расширение DLL.

По умолчанию можно настроить с помощью служебной программы конфигурации клиента SQL Server.

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

R/W: чтение и запись

Описание: размер сетевого пакета в байтах. Значение свойства «размер пакета» должно находиться в диапазоне от 512 до 32 767. Размер сетевого пакета поставщика OLE DB поставщика OLE DB для SQL Server по умолчанию — 4096.
SSPROP_INIT_TAGCOLUMNCOLLATION Тип: BOOL

R/W: запись

По умолчанию: FALSE

Описание: используется при обновлении базы данных, если применяются курсоры на стороне сервера. Это свойство добавляет к данным сведения о параметрах сортировки, полученные с сервера, а не кодовую страницу клиента. В настоящее время это свойство используется только процессом обработки распределенных запросов, поскольку он знает параметры сортировки данных назначения и может правильно их преобразовать.
SSPROP_INIT_TRUST_SERVER_CERTIFICATE Тип: VT_BOOL

R/W: чтение и запись

По умолчанию: VARIANT_FALSE

Описание: используется для включения и отключения проверки сертификата сервера. Это свойство доступно для чтения и записи, но попытка его установки после установления соединения приведет к ошибке.

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

Клиентские приложения могут запрашивать это свойство после открытия соединения для получения используемых параметров шифрования и проверки.

Примечание. Использование шифрования без проверки сертификата обеспечивает частичную защиту от перехвата пакетов, однако не защищает от атак типа "злоумышленник в середине". Оно лишь позволяет шифровать имя входа и данные, передаваемые на сервер, без проверки сертификата сервера.

Дополнительные сведения см. в статье Использование шифрования без проверки.
SSPROP_INIT_USEPROCFORPREP Тип: VT_I4

R/W: чтение и запись

По умолчанию: 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

R/W: чтение и запись

Описание: строка, идентифицирующая рабочую станцию.

В наборе свойств для конкретного поставщика DBPROPSET_SQLSERVERDATASOURCEINFO поставщик OLE DB sql Server Native Client определяет дополнительные свойства; Дополнительные сведения см. в разделе "Свойства источника данных".

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

Поставщик OLE DB собственного клиента SQL Server распознает синтаксис ODBC, похожий на ODBC, в значениях строк поставщика. Свойство строки поставщика задается как значение свойства инициализации DBPROP_INIT_PROVIDERSTRING при установлении соединения с источником данных OLE DB. Это свойство содержит данные для подключения, определяемые поставщиком OLE DB и необходимые для установления соединения с источником данных OLE DB. В этой строке элементы разделяются точкой с запятой. За последним элементом в строке также должна стоять точка с запятой. Каждый элемент состоит из ключевого слова, символа «=» и значения, переданного при инициализации. Например:

Server=MyServer;UID=MyUserName;  

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

Список ключевых слов, доступных в поставщике OLE DB собственного клиента SQL Server, см. в разделе "Использование ключевых слов строки подключения" с собственным клиентом SQL Server.

См. также

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