Использование ключевых слов строки подключения с собственным клиентом SQL Server

Область применения: SQL Server (все поддерживаемые версии) База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics Analytics Platform System (PDW)

Важно!

SQL Server Native Client (часто сокращенный SNAC) был удален из SQL Server 2022 (16.x) и SQL Server Management Studio 19 (SSMS). SQL Server Native Client (SQLNCLI или SQLNCLI11) и устаревший поставщик MICROSOFT OLE DB для SQL Server (SQLOLEDB) не рекомендуются для новой разработки. В дальнейшем перейдите на новый драйвер Microsoft OLE DB (MSOLEDBSQL) для SQL Server или последнюю версию Драйвера Microsoft ODBC для SQL Server.

Некоторые API-интерфейсы SQL Server Native Client используют строки подключения для указания атрибутов подключения. Строки подключения являются списками ключевых слов и связанных значений, причем каждое ключевое слово определяет определенный атрибут соединения.

Дополнительные сведения см. в разделе Использование ключевых слов строки подключения с OLE DB Driver for SQL Server.

Примечание

SQL Server Native Client позволяет двусмысленности в строках подключения поддерживать обратную совместимость (например, некоторые ключевые слова могут быть указаны несколько раз, а конфликтующие ключевые слова могут быть разрешены с разрешением на основе позиции или приоритета). Рекомендуется изменять приложения для использования SQL Server Native Client, чтобы исключить любую зависимость от неоднозначности строки подключения.

В следующих разделах описываются ключевые слова, которые можно использовать с поставщиком SQL Server Native Client OLE DB, драйвером ODBC SQL Server Native Client и объектами данных ActiveX (ADO) при использовании SQL Server Native Client в качестве поставщика данных.

Ключевые слова в строке подключения драйвера ODBC

Приложения ODBC используют строки подключения в качестве параметров для функций SQLDriverConnect и SQLBrowseConnect .

Строки подключения, используемые ODBC, имеют следующий синтаксис:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=[{]attribute-value[}]

attribute-value ::= character-string

attribute-keyword ::= identifier

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

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

Ключевое слово Описание
Addr Синоним для «Address».
Адрес Сетевой адрес сервера, на котором выполняется экземпляр SQL Server. Address обычно является сетевым именем сервера, но может быть и другим именем, например именем канала, IP-адресом или портом TCP/IP с адресом сокета.

Если указывается IP-адрес, убедитесь, что в диспетчере конфигурации SQL Server включен протокол TCP/IP или протокол именованных каналов.

Значение Address имеет приоритет над значением, переданным серверу в строках подключения ODBC при использовании SQL Server Native Client. Также следует отметить, что строка Address=; соединяется с сервером, указанным в ключевом слове Server, а при использовании ключевых слов Address= ;, Address=.;, Address=localhost; и Address=(local);устанавливается соединение с локальным сервером.

Далее представлен полный синтаксис ключевого слова Address.

[protocol:]Address[,port |\pipe\pipename]

Параметрпротокол может иметь значение tcp (TCP/IP), lpc (общая память) или np (именованные каналы). Дополнительные сведения см. в статье Настройка клиентских протоколов.

Если ни протокол, ни ключевое слово Network не указано, SQL Server Native Client будет использовать порядок протокола, указанный в диспетчер конфигурации SQL Server.

port — это порт указанного сервера, к которому выполняется подключение. По умолчанию SQL Server использует порт 1433.
AnsiNPW Если задано значение «yes», то в драйвере используются определяемые стандартами ANSI правила обработки сравнений со значением NULL, дополнения символьных данных, формирования предупреждений и выполнения операция объединений со значением NULL. При использовании значения «no» определенные стандартом ANSI действия не используются. Дополнительные сведения о поведении NPW ANSI см. в разделе Эффекты параметров ISO.
APP Имя приложения, вызывающего SQLDriverConnect (необязательно). Если указано, это значение хранится в столбце master.dbo.sysprocessesprogram_name и возвращается sp_who и APP_NAME функциями.
ApplicationIntent Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения — ReadOnly и ReadWrite. Значение по умолчанию — ReadWrite. Например:

ApplicationIntent=ReadOnly

Дополнительные сведения о поддержке SQL Server Native Client для групп доступности Always On см. в разделе SQL Server Native Client Поддержка высокого уровня доступности и аварийного восстановления.
AttachDBFileName Имя первичного файла присоединяемой базы данных. Необходимо указать полный путь и экранировать любые символы \ при использовании символьной строковой переменной C:

AttachDBFileName=c:\\MyFolder\\MyDB.mdf

Эта база данных присоединяется и становится для соединения базой данных по умолчанию. Чтобы использовать AttachDBFileName , необходимо также указать имя базы данных в параметре SQLDriverConnect DATABASE или атрибуте подключения SQL_COPT_CURRENT_CATALOG. Если база данных была присоединена ранее, SQL Server не присоединяет ее повторно; она использует присоединенную базу данных в качестве базы данных по умолчанию для подключения.
AutoTranslate Если имеет значение «yes», строки символов ANSI, которыми обмениваются клиент и сервер, переводятся с использованием Юникода, чтобы минимизировать проблемы сопоставления символов национальных алфавитов кодовых страниц клиента и сервера.

Данные SQL_C_CHAR клиента, отправляемые в SQL Server char, varchar или текстовой переменной, параметре или столбце, преобразуются из символа в Юникод с помощью клиентской кодовой страницы ANSI (ACP), а затем преобразуются из Юникода в символ с помощью ACP сервера.

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

Эти преобразования выполняются на клиенте драйвером ODBC SQL Server Native Client. Для этого необходимо, чтобы на сервере была доступна такая же кодовая страница ANSI, какая используется на клиенте.

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

* Юникод SQL_C_WCHAR данных клиента, отправляемых в char, varchar или text на сервере.

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

* ANSI SQL_C_CHAR данные клиента, отправляемые в Юникод nchar, nvarchar или ntext на сервере.

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

Если имеет значение «no», перевод символов не выполняется.

Драйвер SQL SERVER NATIVE CLIENT ODBC не преобразует клиентские символы ANSI SQL_C_CHAR данные, отправляемые в переменные, параметры или столбцы char, varchar или текстовые переменные, параметры или столбцы на сервере. Преобразование данных char, varchar или текстовых данных, отправляемых с сервера в переменные SQL_C_CHAR на клиенте, не выполняется.

Если клиент и SQL Server используют разные ASP, расширенные символы могут быть неправильно интерпретированы.
База данных Имя базы данных SQL Server по умолчанию для подключения. Если параметр Database не указан, используется база данных по умолчанию, определенная для имени входа. База данных по умолчанию из источника данных ODBC переопределяет базу данных по умолчанию, определенную для имени входа. База данных должна быть существующей, если не указан параметр AttachDBFileName . Если параметр AttachDBFileName также указан, то основной файл, на который он указывает, присоединяется и получает имя базы данных, указанное в параметре Database.
Драйвер Имя драйвера, возвращаемое SQLDrivers. Ключевое слово для драйвера ODBC SQL Server Native Client — "{SQL Server Native Client 11.0}". Ключевое слово Server является обязательным, если задано значение Driver и DriverCompletion имеет значение SQL_DRIVER_NOPROMPT.

Дополнительные сведения об именах драйверов см. в разделе Использование файлов заголовков и библиотек SQL Server Native Client.
DSN Имя существующего пользователя ODBC или системного источника данных. Это ключевое слово переопределяет любые значения, которые могут быть указаны в ключевых словах Server, Network и Address .
Encrypt Указывает, необходимо ли шифрование данных перед их отправкой по сети. Возможные значения: "yes"/"mandatory" (18.0+), "no"/"optional" (18.0+) и "strict" (18.0+). Значение по умолчанию — "да" в версии 18.0+ и "нет" в предыдущих версиях.
Резервный Это ключевое слово не рекомендуется, и его параметр игнорируется драйвером ODBC SQL Server Native Client.
Failover_Partner Имя сервера партнера по обеспечению отработки отказа, которое будет использоваться, если невозможно установить соединение с сервером-источником.
FailoverPartnerSPN Имя участника-службы для партнера по обеспечению отработки отказа. Значение по умолчанию — пустая строка. Пустая строка заставляет SQL Server Native Client использовать имя субъекта-службы по умолчанию, созданное драйвером.
FileDSN Имя существующего файлового источника данных ODBC.
Язык SQL Server имя языка (необязательно). SQL Server могут хранить сообщения для нескольких языков в sysmessages. При подключении к SQL Server с несколькими языками язык определяет набор сообщений, используемых для соединения.
MARS_Connection Включает или отключает режим MARS для соединения. Распознаются значения «yes» и «no». Значение по умолчанию — «no».
MultiSubnetFailover Всегда указывайте multiSubnetFailover=Yes при подключении к прослушивателю группы доступности SQL Server или экземпляра отказоустойчивого кластера SQL Server. multiSubnetFailover=Yes настраивает SQL Server Native Client для более быстрого обнаружения активного сервера и подключения к ней. Возможные значения: Да и Нет. Значение по умолчанию — No. Например:

MultiSubnetFailover=Yes

Дополнительные сведения о поддержке SQL Server Native Client для групп доступности Always On см. в разделе SQL Server Native Client Поддержка высокого уровня доступности и аварийного восстановления.
Net Синоним для «Network».
Сеть Допустимые значения: dbnmpntw (именованные каналы) и dbmssocn (TCP/IP).

Указание значения ключевого слова Network и префикса протокола в ключевом слове Server является ошибкой.
PWD Пароль для учетной записи входа SQL Server, указанной в параметре UID. PwD не нужно указывать, если имя входа имеет пароль NULL или при использовании проверки подлинности Windows (Trusted_Connection = yes).
QueryLog_On Если имеет значение «yes», для соединения включается регистрация данных длительных запросов. Если имеет значение «no», данные длительных запросов не регистрируются.
QueryLogFile Полный путь и имя файла, используемого для регистрации данных длительных запросов.
QueryLogTime Строка цифровых символов, указывающая порог (в миллисекундах) для регистрации длительных запросов. Любой запрос, ответ на который не поступает за указанное время, записывается в файл регистрации длительных запросов.
QuotedId Если для подключения задано значение "Да", QUOTED_IDENTIFIERS установлено значение ON, SQL Server использует правила ISO, касающиеся использования кавычек в инструкциях SQL. Если параметр равен «no», то параметр QUOTED_IDENTIFIERS для соединения отключается (принимает значение OFF). SQL Server затем следует устаревшим правилам Transact-SQL, касающимся использования кавычек в инструкциях SQL. Дополнительные сведения см. в разделе Эффекты параметров ISO.
Regional Если да, драйвер ODBC SQL Server Native Client использует параметры клиента при преобразовании данных валюты, даты и времени в символьные данные. Преобразование является односторонним, то есть драйвер не распознает строки даты и значения валюты, отличные от стандарта ODBC, например, параметры инструкций INSERT или UPDATE. Если имеет значение «no», драйвер использует стандартные строки ODBC для представления данных валюты, даты и времени, преобразуемых в символьные данные.
SaveFile Имя исходного файла данных ODBC, в который сохраняются атрибуты текущего соединения, если соединение успешно установлено.
Сервер Имя экземпляра SQL Server. Значением должно быть имя сервера в сети, IP-адрес или имя псевдонима диспетчера конфигурации SQL Server.

Ключевое слово Address переопределяет ключевое слово Server.

Чтобы подключиться к экземпляру по умолчанию на локальном сервере, можно указать одно из следующих ключевых слов:

Server=;

Server=.;

Server=(local);

Server=(local);

Server=(localhost);

Server=(localdb)\instancename;

Дополнительные сведения о поддержке LocalDB см. в разделе Поддержка SQL Server Native Client для LocalDB.

Чтобы указать именованный экземпляр SQL Server, добавьте \InstanceName.

Если сервер не указан, устанавливается соединение с экземпляром по умолчанию на локальном компьютере.

Если указывается IP-адрес, убедитесь, что в диспетчере конфигурации SQL Server включен протокол TCP/IP или протокол именованных каналов.

Далее представлен полный синтаксис ключевого слова Server.

Server= [protocol: ]Server[ ,port]

Параметрпротокол может иметь значение tcp (TCP/IP), lpc (общая память) или np (именованные каналы).

Ниже приводится пример указания именованного канала:

np:\\.\pipe\MSSQL$MYINST01\sql\query

В этой строке указывается протокол именованного канала, именованный канал на локальном компьютере (\\.\pipe), имя экземпляра SQL Server (MSSQL$MYINST01) и имя именованного канала по умолчанию (sql/query).

Если ни протокол, ни ключевое слово Network не указано, SQL Server Native Client будет использовать порядок протокола, указанный в диспетчер конфигурации SQL Server.

port — это порт указанного сервера, к которому выполняется подключение. По умолчанию SQL Server использует порт 1433.

Пробелы игнорируются в начале значения, передаваемого серверу в строках подключения ODBC при использовании SQL Server Native Client.
ServerSPN Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Пустая строка заставляет SQL Server Native Client использовать имя субъекта-службы по умолчанию, созданное драйвером.
StatsLog_On При значении "Да" включает сбор данных о производительности драйвера ODBC SQL Server Native Client. Если задано значение "нет", SQL Server Native Client данные о производительности драйвера ODBC недоступны при подключении.
StatsLogFile Полный путь и имя файла, используемого для записи SQL Server Native Client статистике производительности драйвера ODBC.
Trusted_Connection При значении "Да" указывает драйверу ODBC SQL Server Native Client использовать режим проверки подлинности Windows для проверки входа. В противном случае указывает драйверу ODBC SQL Server Native Client использовать имя пользователя и пароль SQL Server для проверки входа, и необходимо указать ключевые слова UID и PWD.
TrustServerCertificate При использовании с шифрованием включает шифрование с помощью самозаверяющего сертификата сервера.
UID Допустимая учетная запись входа SQL Server. Ключевое слово UID не нужно указывать при использовании проверки подлинности Windows.
UseProcForPrepare Это ключевое слово является нерекомендуемым, и его параметр игнорируется драйвером ODBC SQL Server Native Client.
WSID Идентификатор рабочей станции. Обычно это сетевое имя компьютера, на котором находится приложение (необязательно). Если указано, это значение сохраняется в имени узла столбцаmaster.dbo.sysprocesses и возвращается sp_who и функцией HOST_NAME.

Примечание

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

Драйвер ODBC SQL Server Native Client использует параметры реестра языкового стандарта для текущего пользователя. Драйвер не учитывает языковой стандарт текущего потока, если приложение устанавливает его после подключения, например путем вызова SetThreadLocale.

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

Ключевые слова строки подключения поставщика OLE DB

Приложения OLE DB могут инициализировать объекты источника данных двумя способами:

  • IDBInitialize::Initialize

  • IDataInitialize::GetDataSource

В первом случае строка поставщика может использоваться для инициализации свойств соединения посредством установки свойства DBPROP_INIT_PROVIDERSTRING в наборе свойств DBPROPSET_DBINIT. Во втором случае строка инициализации может быть передана методу IDataInitialize::GetDataSource для инициализации свойств соединения. При использовании каждого из этих методов инициализируются одни и те же свойства соединения OLE DB, однако, для этого применяются разные наборы ключевых слов. Набор ключевых слов, используемых методом IDataInitialize::GetDataSource, представляет собой по меньшей мере описание свойств, входящих в группу свойств инициализации.

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

Логические свойства, установленные в строках поставщика через значения DBPROP_INIT_PROVIDERSTRING, устанавливаются с помощью значений «yes» и «no». Логические свойства, установленные в строках инициализации с помощью метода IDataInitialize::GetDataSource, устанавливаются с использованием значений true и false.

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

Примечание

Строка подключения, передаваемая в метод IDataInitialize::GetDataSource, преобразуется в свойства, которые применяются методом IDBProperties::SetProperties. Если службы компонентов обнаруживают описание свойства в IDBProperties::GetPropertyInfo, это свойство будет применяться в качестве изолированного. В противном случае оно будет применяться через свойство DBPROP_PROVIDERSTRING. Например, если указать строку подключения Data Source=server1;Server=server2, ключевое слово Data Source будет задано в качестве свойства, но Server перейдет в строку поставщика.

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

Строки подключения, используемые в приложениях OLE DB, в которых используется DBPROP_INIT_PROVIDERSTRING и IDBInitialize::Initialize, имеют следующий синтаксис.

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=[{]attribute-value[}]

attribute-value ::= character-string

attribute-keyword ::= identifier

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

Пробельный символ после знака равенства (=) в строке подключения будет считаться литералом, даже если значение заключено в кавычки.

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

Ключевое слово Свойство инициализации Описание
Addr SSPROP_INIT_NETWORKADDRESS Синоним для «Address».
Адрес SSPROP_INIT_NETWORKADDRESS Сетевой адрес экземпляра SQL Server в организации.

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова ODBC Address далее в этом разделе.
APP SSPROP_INIT_APPNAME Строка, идентифицирующая приложение.
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения — ReadOnly и ReadWrite.

Значение по умолчанию — ReadWrite. Дополнительные сведения о поддержке SQL Server Native Client для групп доступности Always On см. в разделе SQL Server Native Client Поддержка высокого уровня доступности и аварийного восстановления.
AttachDBFileName SSPROP_INIT_FILENAME Имя первичного файла присоединяемой базы данных (включает полный путь). Чтобы использовать ключевое слово AttachDBFileName, необходимо также указать имя базы данных с помощью ключевого слова Database в строке поставщика. Если база данных уже присоединена, SQL Server не присоединяет ее повторно, а использует для соединения присоединенную базу данных по умолчанию.
Автоматическое преобразование SSPROP_INIT_AUTOTRANSLATE Синоним для «AutoTranslate».
AutoTranslate SSPROP_INIT_AUTOTRANSLATE Настраивает перевод символов OEM/ANSI. Распознаются значения «yes» и «no».
База данных DBPROP_INIT_CATALOG Имя базы данных.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Указывает используемый режим обработки типов данных. Распознаются значения «0» (для типов данных поставщика) и «80» (для типов данных SQL Server 2000).
Encrypt SSPROP_INIT_ENCRYPT Указывает, необходимо ли шифрование данных перед их отправкой по сети. Допустимы значения «yes» и «no». Значение по умолчанию — «no».
FailoverPartner SSPROP_INIT_FAILOVERPARTNER Имя сервера отработки отказа, используемого для зеркального отображения базы данных.
FailoverPartnerSPN SSPROP_INIT_FAILOVERPARTNERSPN Имя участника-службы для партнера по обеспечению отработки отказа. Значение по умолчанию — пустая строка. Пустая строка заставляет SQL Server Native Client использовать имя субъекта-службы по умолчанию, созданное поставщиком.
Язык SSPROP_INIT_CURRENTLANGUAGE Язык SQL Server.
MarsConn SSPROP_INIT_MARSCONNECTION Включает или отключает режим MARS для соединения для сервера версии SQL Server 2005 (9.x) или более поздней версии. Допустимы значения «yes» и «no». Значение по умолчанию — «no».
Net SSPROP_INIT_NETWORKLIBRARY Синоним для «Network».
Network SSPROP_INIT_NETWORKLIBRARY Сетевая библиотека, используемая для установления соединения с экземпляром SQL Server в организации.
Network Library SSPROP_INIT_NETWORKLIBRARY Синоним для «Network».
PacketSize SSPROP_INIT_PACKETSIZE Размер сетевого пакета. Значение по умолчанию — 4096.
PersistSensitive DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Принимает в качестве значений строки «yes» и «no». Если используется значение «no», объекту источника данных запрещено хранить конфиденциальные данные проверки подлинности.
PWD DBPROP_AUTH_PASSWORD Пароль имени входа SQL Server.
Server DBPROP_INIT_DATASOURCE Имя экземпляра SQL Server в организации.

Если имя не задано, то производится соединение с экземпляром по умолчанию на локальном компьютере.

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова ODBC сервера в этой статье.
ServerSPN SSPROP_INIT_SERVERSPN Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Пустая строка приводит к тому, что SQL Server Native Client использует имя субъекта-службы по умолчанию, созданное поставщиком.
Timeout DBPROP_INIT_TIMEOUT Время (в секундах), в течение которого ожидается завершение инициализации источника данных.
Trusted_Connection DBPROP_AUTH_INTEGRATED При значении "да" указывает поставщику SQL SERVER NATIVE CLIENT OLE DB использовать режим проверки подлинности Windows для проверки входа. В противном случае указывает поставщику SQL Server Native Client OLE DB использовать имя пользователя и пароль SQL Server для проверки входа, а также указать ключевые слова UID и PWD.
TrustServerCertificate SSPROP_INIT_TRUST_SERVER_CERTIFICATE Принимает в качестве значений строки «yes» и «no». По умолчанию имеет значение «no», которое указывает, что сертификат сервера будет проверяться.
UID DBPROP_AUTH_USERID Имя входа SQL Server.
UseProcForPrepare SSPROP_INIT_USEPROCFORPREP Это ключевое слово является нерекомендуемым, и его параметр игнорируется поставщиком SQL SERVER NATIVE CLIENT OLE DB.
WSID SSPROP_INIT_WSID Идентификатор рабочей станции.

Строки подключения, используемые приложениями OLE DB, в которых используется IDataInitialize::GetDataSource, имеют следующий синтаксис.

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=[quote]attribute-value[quote]

attribute-value ::= character-string

attribute-keyword ::= identifier

quote ::= " | '

Использование свойства должно соответствовать синтаксическим правилам, действующим в его области. Например, в WSID вместо кавычек используются фигурные скобки ( {} ), а в Application Name используются апострофы ( ' ) или двойные кавычки ( " ). Заключать в кавычки можно только строковые свойства. Заключение в кавычки целочисленного или перечисляемого свойства приведет к ошибке «Строка подключения не соответствует спецификации OLE DB».

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

Пробельный символ после знака равенства (=) в строке подключения будет считаться литералом, даже если значение заключено в кавычки.

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

В следующей таблице рассматриваются ключевые слова, которые можно использовать с IDataInitialize::GetDataSource.

Ключевое слово Свойство инициализации Описание
Имя приложения SSPROP_INIT_APPNAME Строка, идентифицирующая приложение.
Application Intent SSPROP_INIT_APPLICATIONINTENT Синоним "ApplicationIntent".
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения — ReadOnly и ReadWrite.

Значение по умолчанию — ReadWrite. Дополнительные сведения о поддержке SQL Server Native Client для групп доступности Always On см. в разделе SQL Server Native Client Поддержка высокого уровня доступности и аварийного восстановления.
Автоматическое преобразование SSPROP_INIT_AUTOTRANSLATE Синоним для «AutoTranslate».
AutoTranslate SSPROP_INIT_AUTOTRANSLATE Настраивает перевод символов OEM/ANSI. Распознаются значения «true» и «false».
Connect Timeout DBPROP_INIT_TIMEOUT Время (в секундах), в течение которого ожидается завершение инициализации источника данных.
Current Language SSPROP_INIT_CURRENTLANGUAGE Язык SQL Server.
Источник данных DBPROP_INIT_DATASOURCE Имя экземпляра SQL Server в организации.

Если имя не задано, то производится соединение с экземпляром по умолчанию на локальном компьютере.

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова ODBC сервера далее в этом разделе.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Указывает используемый режим обработки типов данных. Распознаваемые значения: "0" для типов данных поставщика и "80" для типов данных SQL Server 2000 (8.x).
Failover Partner SSPROP_INIT_FAILOVERPARTNER Имя сервера отработки отказа, используемого для зеркального отображения базы данных.
Failover Partner SPN SSPROP_INIT_FAILOVERPARTNERSPN Имя участника-службы для партнера по обеспечению отработки отказа. Значение по умолчанию — пустая строка. Пустая строка приводит к тому, что SQL Server Native Client использует имя субъекта-службы по умолчанию, созданное поставщиком.
Исходный каталог DBPROP_INIT_CATALOG Имя базы данных.
Исходное имя файла SSPROP_INIT_FILENAME Имя первичного файла присоединяемой базы данных (включает полный путь). Чтобы использовать ключевое слово AttachDBFileName, необходимо также указать имя базы данных с помощью ключевого слова DATABASE в строке поставщика. Если база данных уже присоединена, SQL Server не присоединяет ее повторно, а использует для соединения присоединенную базу данных по умолчанию.
Встроенные функции безопасности DBPROP_AUTH_INTEGRATED Принимает значение «SSPI» для проверки подлинности Windows.
MARS Connection SSPROP_INIT_MARSCONNECTION Включает или отключает режим MARS для соединения. Распознаются значения «true» и «false». Значение по умолчанию — «false».
Network Address SSPROP_INIT_NETWORKADDRESS Сетевой адрес экземпляра SQL Server в организации.

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова ODBC Address далее в этом разделе.
Network Library SSPROP_INIT_NETWORKLIBRARY Сетевая библиотека, используемая для установления соединения с экземпляром SQL Server в организации.
Packet Size SSPROP_INIT_PACKETSIZE Размер сетевого пакета. Значение по умолчанию — 4096.
Пароль DBPROP_AUTH_PASSWORD Пароль имени входа SQL Server.
Persist Security Info DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Принимает в качестве значений строки «true» и «false». Если указано значение «false», объекту источника данных не разрешается сохранять конфиденциальные сведения проверки подлинности.
Поставщик Для SQL Server Native Client это должен быть SQLNCLI11.
Server SPN SSPROP_INIT_SERVERSPN Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Пустая строка заставляет SQL Server Native Client использовать имя субъекта-службы по умолчанию, созданное поставщиком.
Надежный сертификат сервера SSPROP_INIT_TRUST_SERVER_CERTIFICATE Принимает в качестве значений строки «true» и «false». По умолчанию имеет значение «false», которое указывает, что сертификат сервера будет проверяться.
Use Encryption for Data SSPROP_INIT_ENCRYPT Указывает, необходимо ли шифрование данных перед их отправкой по сети. Возможными значениями являются «true» и «false». Значение по умолчанию — «false».
Идентификатор пользователя DBPROP_AUTH_USERID Имя входа SQL Server.
Workstation ID SSPROP_INIT_WSID Идентификатор рабочей станции.

Примечание. В строке подключения свойство Old Password устанавливает значение свойства SSPROP_AUTH_OLD_PASSWORD, которое является текущим паролем (возможно, с истекшим сроком действия), недоступным через свойство строки поставщика.

Ключевые слова строки подключения объектов данных ActiveX (ADO)

Приложения ADO устанавливают свойство ConnectionString объектов ADODBConnection или указывают строку подключения как параметр метода Open объектов ADODBConnection.

В приложениях ADO также могут применяться ключевые слова, используемые методом OLE DB IDBInitialize::Initialize, но только для свойств, у которых отсутствует значение по умолчанию. Если в строке инициализации приложения содержатся ключевые слова ADO и ключевые слова IDBInitialize::Initialize, используется параметр ключевого слова ADO. Настоятельно рекомендуется, чтобы приложение использовало для строк соединения только ключевые слова ADO.

Строки подключения, используемые ADO, имеют следующий синтаксис:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=["]attribute-value["]

attribute-value ::= character-string

attribute-keyword ::= identifier

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

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

Ключевое слово Свойство инициализации Описание
Application Intent SSPROP_INIT_APPLICATIONINTENT Синоним для ApplicationIntent.
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения — ReadOnly и ReadWrite.

Значение по умолчанию — ReadWrite. Дополнительные сведения о поддержке SQL Server Native Client для групп доступности Always On см. в разделе SQL Server Native Client Поддержка высокого уровня доступности и аварийного восстановления.
Имя приложения SSPROP_INIT_APPNAME Строка, идентифицирующая приложение.
Автоматическое преобразование SSPROP_INIT_AUTOTRANSLATE Синоним для «AutoTranslate».
AutoTranslate SSPROP_INIT_AUTOTRANSLATE Настраивает перевод символов OEM/ANSI. Распознаются значения «true» и «false».
Connect Timeout DBPROP_INIT_TIMEOUT Время (в секундах), в течение которого ожидается завершение инициализации источника данных.
Current Language SSPROP_INIT_CURRENTLANGUAGE Язык SQL Server.
Источник данных DBPROP_INIT_DATASOURCE Имя экземпляра SQL Server в организации.

Если имя не задано, то производится соединение с экземпляром по умолчанию на локальном компьютере.

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова ODBC сервера в этом разделе.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Задает используемый режим обработки типов данных. Распознаются значения «0» (для типов данных поставщика) и «80» (для типов данных SQL Server 2000).
Failover Partner SSPROP_INIT_FAILOVERPARTNER Имя сервера отработки отказа, используемого для зеркального отображения базы данных.
Failover Partner SPN SSPROP_INIT_FAILOVERPARTNERSPN Имя участника-службы для партнера по обеспечению отработки отказа. Значение по умолчанию — пустая строка. Пустая строка заставляет SQL Server Native Client использовать имя субъекта-службы по умолчанию, созданное поставщиком.
Исходный каталог DBPROP_INIT_CATALOG Имя базы данных.
Исходное имя файла SSPROP_INIT_FILENAME Имя первичного файла присоединяемой базы данных (включает полный путь). Чтобы использовать ключевое слово AttachDBFileName, необходимо также указать имя базы данных с помощью ключевого слова DATABASE в строке поставщика. Если база данных уже присоединена, SQL Server не присоединяет ее повторно, а использует для соединения присоединенную базу данных по умолчанию.
Встроенные функции безопасности DBPROP_AUTH_INTEGRATED Принимает значение «SSPI» для проверки подлинности Windows.
MARS Connection SSPROP_INIT_MARSCONNECTION Включает или отключает режим MARS для соединения для сервера версии SQL Server 2005 (9.x) или более поздней версии. Распознаются значения «true» и «false». По умолчанию используется значение «false».
Network Address SSPROP_INIT_NETWORKADDRESS Сетевой адрес экземпляра SQL Server в организации.

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова ODBC Address в этом разделе.
Network Library SSPROP_INIT_NETWORKLIBRARY Сетевая библиотека, используемая для установления соединения с экземпляром SQL Server в организации.
Packet Size SSPROP_INIT_PACKETSIZE Размер сетевого пакета. Значение по умолчанию — 4096.
Пароль DBPROP_AUTH_PASSWORD Пароль имени входа SQL Server.
Persist Security Info DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Принимает в качестве значений строки «true» и «false». Если указано значение «false», объекту источника данных не разрешается сохранять конфиденциальные сведения проверки подлинности.
Поставщик Для SQL Server Native Client это должен быть SQLNCLI11.
Server SPN SSPROP_INIT_SERVERSPN Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Пустая строка заставляет SQL Server Native Client использовать имя субъекта-службы по умолчанию, созданное поставщиком.
Надежный сертификат сервера SSPROP_INIT_TRUST_SERVER_CERTIFICATE Принимает в качестве значений строки «true» и «false». По умолчанию имеет значение «false», которое указывает, что сертификат сервера будет проверяться.
Use Encryption for Data SSPROP_INIT_ENCRYPT Указывает, необходимо ли шифрование данных перед их отправкой по сети. Возможными значениями являются «true» и «false». Значение по умолчанию — «false».
Идентификатор пользователя DBPROP_AUTH_USERID Имя входа SQL Server.
Workstation ID SSPROP_INIT_WSID Идентификатор рабочей станции.

Примечание. В строке подключения свойство Old Password устанавливает значение свойства SSPROP_AUTH_OLD_PASSWORD, которое является текущим паролем (возможно, с истекшим сроком действия), недоступным через свойство строки поставщика.

См. также раздел

Построение приложений с использованием SQL Server Native Client