Поделиться через


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

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

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

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

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

Ключевые слова в строке подключения драйвера 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».

Address

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

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

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

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

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

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

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

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

AnsiNPW

Если задано значение «yes», то в драйвере используются определяемые стандартами ANSI правила обработки сравнений со значением NULL, дополнения символьных данных, формирования предупреждений и выполнения операция объединений со значением NULL. При использовании значения «no» определенные стандартом ANSI действия не используются. Дополнительные сведения о влиянии значения ANSI NPW см. в разделе Действие параметров ISO.

APP

Имя приложения, вызывающего функцию SQLDriverConnect (необязательно). Если это значение указано, оно хранится в столбце program_name в таблице master.dbo.sysprocesses и возвращается функциями sp_who и APP_NAME.

ApplicationIntent

Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможными значениями являются ReadOnly и ReadWrite. Например.

ApplicationIntent=ReadOnly

По умолчанию ReadWrite. Дополнительные сведения о поддержке групп доступности Группы доступности AlwaysOn в собственном клиенте SQL Server см. в разделе Поддержка высокого уровня доступности и аварийного восстановления собственного клиента SQL Server.

AttachDBFileName

Имя первичного файла присоединяемой базы данных. Необходимо указать полный путь и экранировать любые символы \ при использовании символьной строковой переменной C:

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

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

AutoTranslate

Если имеет значение «yes», строки символов ANSI, которыми обмениваются клиент и сервер, переводятся с использованием Юникода, чтобы минимизировать проблемы сопоставления символов национальных алфавитов кодовых страниц клиента и сервера.

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

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

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

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

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

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

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

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

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

Драйвер ODBC собственного клиента SQL Server не преобразует данные клиента типа SQL_C_CHAR в формате ANSI, отправляемые в переменные типа char, varchar или text, параметры или столбцы на сервере. Также не выполняется перевод данных типа char, varchar или text, отправляемых с сервера в переменные клиента типа SQL_C_CHAR.

Если клиент и SQL Server используют разные кодовые страницы ANSI, символы национального алфавита могут быть переведены неправильно.

Database

Имя базы данных SQL Server, используемой для соединения по умолчанию. Если ключевое слово Database не указано, используется база данных, определенная по умолчанию для имени входа. База данных по умолчанию из источника данных ODBC переопределяет базу данных по умолчанию, определенную для имени входа. База данных должна существовать, если не указан параметр AttachDBFileName. Если также указано ключевое слово AttachDBFileName, выполняется присоединение первичного файла, на который оно указывает, после чего присваивается имя базы данных, указанное ключевым словом Database.

Driver

Имя драйвера, возвращаемое функцией SQLDrivers. Значение ключевого слова для драйвера ODBC собственного клиента SQL Server – «{SQL Server Native Client 11.0}». Ключевое слово Server требуется, если указано ключевое слово Driver, и ключевое слово DriverCompletion имеет значение SQL_DRIVER_NOPROMPT.

Дополнительные сведения об именах драйверов см. в разделе Использование файлов заголовков и библиотек собственного клиента SQL Server.

DSN

Имя существующего пользователя ODBC или системного источника данных. Это ключевое слово переопределяет все значения, указанные в ключевых словах Server, Network и Address.

Encrypt

Указывает, необходимо ли шифрование данных перед их отправкой по сети. Допустимы значения «yes» и «no». Значение по умолчанию — «no».

Fallback

Это ключевое слово является устаревшим, и его значение не учитывается драйвером ODBC собственного клиента SQL Server.

Failover_Partner

Имя сервера партнера по обеспечению отработки отказа, которое будет использоваться, если невозможно установить соединение с сервером-источником.

FailoverPartnerSPN

Имя участника-службы для партнера по обеспечению отработки отказа. Значение по умолчанию — пустая строка. Если указана пустая строка, собственный клиент SQL Server использует имя участника-службы по умолчанию, сформированное драйвером.

FileDSN

Имя существующего файлового источника данных ODBC.

Language

Имя языка SQL Server (необязательно). SQL Server может сохранять в таблице sysmessages сообщения на многих языках. При соединении с SQL Server с несколькими языками ключевое слово Language указывает, какой набор сообщений будет использован для соединения.

MARS_Connection

Включает или отключает режим MARS для соединения. Распознаются значения «yes» и «no». Значение по умолчанию — «no».

MultiSubnetFailover

Всегда указывайте параметр multiSubnetFailover=Yes при соединении с прослушивателем группы доступности SQL Server 2012 или экземпляром отказоустойчивого кластера SQL Server 2012. Параметр multiSubnetFailover=Yes настраивает SQL Server Native Client для ускоренного обнаружения активного (в данный момент) сервера и подключения к нему. Возможными значениями являются Yes и No. Например:

MultiSubnetFailover=Yes

По умолчанию No. Дополнительные сведения о поддержке групп доступности Группы доступности AlwaysOn в собственном клиенте SQL Server см. в разделе Поддержка высокого уровня доступности и аварийного восстановления собственного клиента SQL Server.

Net

Синоним для «Network».

Network

Допустимые значения: dbnmpntw (именованные каналы) и dbmssocn (TCP/IP).

Одновременное указание значения для ключевого слова Network и префикса протокола в ключевом слове Server является ошибкой.

PWD

Пароль для учетной записи входа SQL Server, указанный в параметре UID. Указание PWD не требуется в случае, если пароль у имени входа равен NULL, либо при использовании проверки подлинности Windows (Trusted_Connection = yes).

QueryLog_On

Если имеет значение «yes», для соединения включается регистрация данных длительных запросов. Если имеет значение «no», данные длительных запросов не регистрируются.

QueryLogFile

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

QueryLogTime

Строка цифровых символов, указывающая порог (в миллисекундах) для регистрации длительных запросов. Любой запрос, ответ на который не поступает за указанное время, записывается в файл регистрации длительных запросов.

QuotedId

Если имеет значение «yes», параметр QUOTED_IDENTIFIERS при соединении устанавливается в значение ON. SQL Server использует правила ISO в отношении использования кавычек в инструкциях SQL. Если параметр равен «no», то параметр QUOTED_IDENTIFIERS для соединения отключается (принимает значение OFF). В этом случае SQL Server следует правилам устаревших версий Transact-SQL относительно использования кавычек в инструкциях SQL. Дополнительные сведения см. в разделе Действие параметров ISO.

Regional

Если имеет значение «yes», драйвер ODBC собственного клиента SQL Server использует настройки клиента при преобразовании данных валюты, даты и времени в символьные данные. Преобразование является односторонним, то есть драйвер не распознает строки даты и значения валюты, отличные от стандарта ODBC, например, параметры инструкций INSERT или UPDATE. Если имеет значение «no», драйвер использует стандартные строки ODBC для представления данных валюты, даты и времени, преобразуемых в символьные данные.

SaveFile

Имя исходного файла данных ODBC, в который сохраняются атрибуты текущего соединения, если соединение успешно установлено.

Server

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

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

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

  • Server=;

  • Server=.;

  • 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]

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

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

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

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

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

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

Пробелы в начале значения, передаваемого в аргументе Server строки подключения ODBC, не учитываются, когда используется собственный клиент SQL Server.

ServerSPN

Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Если указана пустая строка, собственный клиент SQL Server использует имя участника-службы по умолчанию, сформированное драйвером.

StatsLog_On

Если имеет значение «yes», включается сбор данных производительности драйвера ODBC собственного клиента SQL Server. Если имеет значение «no», данные производительности драйвера ODBC собственного клиента SQL Server для соединения недоступны.

StatsLogFile

Полный путь и имя файла для записи статистики производительности драйвера ODBC собственного клиента SQL Server.

Trusted_Connection

Значение «yes» предписывает драйверу ODBC собственного клиента SQL Server использовать режим проверки подлинности Windows для проверки имени входа. В противном случае для проверки имени входа драйвер ODBC собственного клиента SQL Server должен использовать имя пользователя и пароль SQL Server, а также необходимо указать ключевые слова UID и PWD.

TrustServerCertificate

Если используется с ключевым словом Encrypt, включает шифрование с использованием самозаверяющего сертификата сервера.

UID

Допустимая учетная запись входа SQL Server. Ключевое слово UID не нужно указывать при использовании проверки подлинности Windows.

UseProcForPrepare

Это ключевое слово является устаревшим, и его значение не учитывается драйвером ODBC собственного клиента SQL Server.

WSID

Идентификатор рабочей станции. Обычно это сетевое имя компьютера, на котором находится приложение (необязательно). Если это значение указано, хранится в системной таблице master.dbo.sysprocesses в столбце hostname и возвращается функциями sp_who и HOST_NAME.

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

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

Драйвер ODBC для собственного клиента SQL Server использует настройки локали текущего пользователя, установленные в реестре. Драйвер не учитывает локаль, установленную в текущем потоке, если приложение установило ее после соединения, например, вызовом функции 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».

Address

SSPROP_INIT_NETWORKADDRESS

Сетевой адрес экземпляра SQL Server в организации.

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова ODBC Address далее в этом разделе.

APP

SSPROP_INIT_APPNAME

Строка, идентифицирующая приложение.

ApplicationIntent

SSPROP_INIT_APPLICATIONINTENT

Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможными значениями являются ReadOnly и ReadWrite.

По умолчанию ReadWrite. Дополнительные сведения о поддержке групп доступности Группы доступности AlwaysOn в собственном клиенте SQL Server см. в разделе Поддержка высокого уровня доступности и аварийного восстановления собственного клиента SQL Server.

AttachDBFileName

SSPROP_INIT_FILENAME

Имя первичного файла присоединяемой базы данных (включает полный путь). Чтобы использовать ключевое слово AttachDBFileName, необходимо также указать имя базы данных с помощью ключевого слова DATABASE в строке поставщика. Если база данных уже присоединена, SQL Server не присоединяет ее повторно, а использует для соединения присоединенную базу данных по умолчанию.

Auto Translate

SSPROP_INIT_AUTOTRANSLATE

Синоним для «AutoTranslate».

AutoTranslate

SSPROP_INIT_AUTOTRANSLATE

Настраивает перевод символов OEM/ANSI. Распознаются значения «yes» и «no».

Database

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 использует имя участника-службы по умолчанию, сформированное поставщиком.

Language

SSPROPT_INIT_CURRENTLANGUAGE

Язык SQL Server.

MarsConn

SSPROP_INIT_MARSCONNECTION

Включает или отключает режим MARS для соединения для сервера версии SQL Server 2005 или более поздней версии. Допустимы значения «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 Server в этом разделе.

ServerSPN

SSPROP_INIT_SERVERSPN

Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Если указана пустая строка, собственный клиент SQL Server использует имя участника-службы по умолчанию, сформированное поставщиком.

Timeout

DBPROP_INIT_TIMEOUT

Время (в секундах), в течение которого ожидается завершение инициализации источника данных.

Trusted_Connection

DBPROP_AUTH_INTEGRATED

Значение «yes» предписывает поставщику OLE DB собственного клиента SQL Server использовать режим проверки подлинности Windows для проверки имени входа. В противном случае для проверки имени входа поставщик OLE DB собственного клиента SQL Server должен использовать имя пользователя и пароль SQL Server, а также необходимо указать ключевые слова UID и PWD.

TrustServerCertificate

SSPROP_INIT_TRUST_SERVER_CERTIFICATE

Принимает в качестве значений строки «yes» и «no». По умолчанию имеет значение «no», которое указывает, что сертификат сервера будет проверяться.

UID

DBPROP_AUTH_USERID

Имя входа SQL Server.

UseProcForPrepare

SSPROP_INIT_USEPROCFORPREP

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

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.

Ключевое слово

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

Описание

Application Name

SSPROP_INIT_APPNAME

Строка, идентифицирующая приложение.

Application Intent

SSPROP_INIT_APPLICATIONINTENT

Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможными значениями являются ReadOnly и ReadWrite.

По умолчанию ReadWrite. Дополнительные сведения о поддержке групп доступности Группы доступности AlwaysOn в собственном клиенте SQL Server см. в разделе Поддержка высокого уровня доступности и аварийного восстановления собственного клиента SQL Server.

Auto Translate

SSPROP_INIT_AUTOTRANSLATE

Синоним для «AutoTranslate».

AutoTranslate

SSPROP_INIT_AUTOTRANSLATE

Настраивает перевод символов OEM/ANSI. Распознаются значения «true» и «false».

Connect Timeout

DBPROP_INIT_TIMEOUT

Время (в секундах), в течение которого ожидается завершение инициализации источника данных.

Current Language

SSPROPT_INIT_CURRENTLANGUAGE

Язык SQL Server.

Data Source

DBPROP_INIT_DATASOURCE

Имя экземпляра SQL Server в организации.

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

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова ODBC Server далее в этом разделе.

DataTypeCompatibility

SSPROP_INIT_DATATYPECOMPATIBILITY

Указывает используемый режим обработки типов данных. Распознаются значения «0» (для типов данных поставщика) и «80» (для типов данных SQL Server 2000).

Failover Partner

SSPROP_INIT_FAILOVERPARTNER

Имя сервера отработки отказа, используемого для зеркального отображения базы данных.

Failover Partner SPN

SSPROP_INIT_FAILOVERPARTNERSPN

Имя участника-службы для партнера по обеспечению отработки отказа. Значение по умолчанию — пустая строка. Если указана пустая строка, собственный клиент SQL Server использует имя участника-службы по умолчанию, сформированное поставщиком.

Initial Catalog

DBPROP_INIT_CATALOG

Имя базы данных.

Initial File Name

SSPROP_INIT_FILENAME

Имя первичного файла присоединяемой базы данных (включает полный путь). Чтобы использовать ключевое слово AttachDBFileName, необходимо также указать имя базы данных с помощью ключевого слова DATABASE в строке поставщика. Если база данных уже присоединена, SQL Server не присоединяет ее повторно, а использует для соединения присоединенную базу данных по умолчанию.

Integrated Security

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.

Password

DBPROP_AUTH_PASSWORD

Пароль имени входа SQL Server.

Persist Security Info

DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO

Принимает в качестве значений строки «true» и «false». Если указано значение «false», объекту источника данных не разрешается сохранять конфиденциальные сведения проверки подлинности.

Provider

 

Для собственного клиента SQL Server необходимо указывать значение «SQLNCLI11».

Server SPN

SSPROP_INIT_SERVERSPN

Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Если указана пустая строка, собственный клиент SQL Server использует имя участника-службы по умолчанию, сформированное поставщиком.

Trust Server Certificate

SSPROP_INIT_TRUST_SERVER_CERTIFICATE

Принимает в качестве значений строки «true» и «false». По умолчанию имеет значение «false», которое указывает, что сертификат сервера будет проверяться.

Use Encryption for Data

SSPROP_INIT_ENCRYPT

Указывает, необходимо ли шифрование данных перед их отправкой по сети. Возможными значениями являются «true» и «false». Значение по умолчанию — «false».

User ID

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

Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможными значениями являются ReadOnly и ReadWrite.

По умолчанию ReadWrite. Дополнительные сведения о поддержке групп доступности Группы доступности AlwaysOn в собственном клиенте SQL Server см. в разделе Поддержка высокого уровня доступности и аварийного восстановления собственного клиента SQL Server.

Application Name

SSPROP_INIT_APPNAME

Строка, идентифицирующая приложение.

Auto Translate

SSPROP_INIT_AUTOTRANSLATE

Синоним для «AutoTranslate».

AutoTranslate

SSPROP_INIT_AUTOTRANSLATE

Настраивает перевод символов OEM/ANSI. Распознаются значения «true» и «false».

Connect Timeout

DBPROP_INIT_TIMEOUT

Время (в секундах), в течение которого ожидается завершение инициализации источника данных.

Current Language

SSPROPT_INIT_CURRENTLANGUAGE

Язык SQL Server.

Data Source

DBPROP_INIT_DATASOURCE

Имя экземпляра SQL Server в организации.

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

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова ODBC Server в этом разделе.

DataTypeCompatibility

SSPROP_INIT_DATATYPECOMPATIBILITY

Задает используемый режим обработки типов данных. Распознаются значения «0» (для типов данных поставщика) и «80» (для типов данных SQL Server 2000).

Failover Partner

SSPROP_INIT_FAILOVERPARTNER

Имя сервера отработки отказа, используемого для зеркального отображения базы данных.

Failover Partner SPN

SSPROP_INIT_FAILOVERPARTNERSPN

Имя участника-службы для партнера по обеспечению отработки отказа. Значение по умолчанию — пустая строка. Если указана пустая строка, собственный клиент SQL Server использует имя участника-службы по умолчанию, сформированное поставщиком.

Initial Catalog

DBPROP_INIT_CATALOG

Имя базы данных.

Initial File Name

SSPROP_INIT_FILENAME

Имя первичного файла присоединяемой базы данных (включает полный путь). Чтобы использовать ключевое слово AttachDBFileName, необходимо также указать имя базы данных с помощью ключевого слова DATABASE в строке поставщика. Если база данных уже присоединена, SQL Server не присоединяет ее повторно, а использует для соединения присоединенную базу данных по умолчанию.

Integrated Security

DBPROP_AUTH_INTEGRATED

Принимает значение «SSPI» для проверки подлинности Windows.

MARS Connection

SSPROP_INIT_MARSCONNECTION

Включает или отключает режим MARS для соединения для сервера версии SQL Server 2005 или более поздней версии. Распознаются значения «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.

Password

DBPROP_AUTH_PASSWORD

Пароль имени входа SQL Server.

Persist Security Info

DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO

Принимает в качестве значений строки «true» и «false». Если указано значение «false», объекту источника данных не разрешается сохранять конфиденциальные сведения проверки подлинности.

Provider

 

Для собственного клиента SQL Server необходимо указывать значение «SQLNCLI11».

Server SPN

SSPROP_INIT_SERVERSPN

Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Если указана пустая строка, собственный клиент SQL Server использует имя участника-службы по умолчанию, сформированное поставщиком.

Trust Server Certificate

SSPROP_INIT_TRUST_SERVER_CERTIFICATE

Принимает в качестве значений строки «true» и «false». По умолчанию имеет значение «false», которое указывает, что сертификат сервера будет проверяться.

Use Encryption for Data

SSPROP_INIT_ENCRYPT

Указывает, необходимо ли шифрование данных перед их отправкой по сети. Возможными значениями являются «true» и «false». Значение по умолчанию — «false».

User ID

DBPROP_AUTH_USERID

Имя входа SQL Server.

Workstation ID

SSPROP_INIT_WSID

Идентификатор рабочей станции.

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

См. также

Другие ресурсы

Построение приложений с использованием собственного клиента SQL Server