Использование ключевых слов строки подключения с собственным клиентом 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 и более поздних версий
Собственный клиент SQL Server (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для разработки новых приложений.
Для новых проектов используйте один из следующих драйверов:
Сведения о SQLNCLI, которые поставляется в качестве компонента SQL Server ядро СУБД (версии 2012–2019), см. в этом исключении жизненного цикла поддержки.
Некоторые API-интерфейсы собственного клиента SQL Server используют строка подключения для указания атрибутов подключения. Строки подключения являются списками ключевых слов и связанных значений, причем каждое ключевое слово определяет определенный атрибут соединения.
Дополнительные сведения см. в разделе "Использование ключевых слов строки подключения" с драйвером OLE DB для 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.
Ключевое слово | Description |
---|---|
Addr | Синоним для «Address». |
Адрес | Сетевой адрес сервера, на котором выполняется экземпляр SQL Server. Address обычно является сетевым именем сервера, но может быть и другим именем, например именем канала, IP-адресом или портом TCP/IP с адресом сокета. Если указать IP-адрес, убедитесь, что протоколы TCP/IP или именованных каналов включены в диспетчер конфигурации SQL Server. Значение Address имеет приоритет над значением, переданным серверу в строка подключения ODBC при использовании собственного клиента SQL Server. Также следует отметить, что строка Address=; соединяется с сервером, указанным в ключевом слове Server, а при использовании ключевых слов Address= ;, Address=.; , Address=localhost; и Address=(local); устанавливается соединение с локальным сервером.Далее представлен полный синтаксис ключевого слова Address. [protocol:]Address[,port |\pipe\pipename] Параметрпротокол может иметь значение tcp (TCP/IP), lpc (общая память) или np (именованные каналы). Дополнительные сведения см. в статье Настройка клиентских протоколов. Если ни протокол, ни ключевое слово "Сеть" не указано, sql Server Native Client будет использовать порядок протокола, указанный в диспетчер конфигурации SQL Server. port — это порт указанного сервера, к которому выполняется подключение. По умолчанию SQL Server использует порт 1433. |
AnsiNPW | Если задано значение «yes», то в драйвере используются определяемые стандартами ANSI правила обработки сравнений со значением NULL, дополнения символьных данных, формирования предупреждений и выполнения операция объединений со значением NULL. При использовании значения «no» определенные стандартом ANSI действия не используются. Дополнительные сведения о поведении NPW ANSI см. в разделе "Эффекты параметров ISO". |
APP | Имя приложения, вызывающего SQLDriverConnect (необязательно). Если задано, это значение хранится в столбце master.dbo.sysprocesses program_name и возвращается sp_who и функциями APP_NAME. |
ApplicationIntent | Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения — ReadOnly и ReadWrite. Значение по умолчанию — ReadWrite. Например:ApplicationIntent=ReadOnly Дополнительные сведения о поддержке собственного клиента SQL Server для групп доступности AlwaysOn см. в статье "Поддержка клиентов SQL Server Native Client" для обеспечения высокой доступности, аварийного восстановления. |
AttachDBFileName | Имя первичного файла присоединяемой базы данных. Необходимо указать полный путь и экранировать любые символы \ при использовании символьной строковой переменной C:AttachDBFileName=c:\\MyFolder\\MyDB.mdf Эта база данных присоединяется и становится для соединения базой данных по умолчанию. Чтобы использовать AttachDBFileName , необходимо также указать имя базы данных в параметре БАЗЫ ДАННЫХ SQLDriverConnect или атрибуте подключения SQL_COPT_CURRENT_CATALOG. Если база данных была подключена ранее, SQL Server не выполняет повторное присоединение к ней; он использует присоединенную базу данных в качестве значения по умолчанию для подключения. |
AutoTranslate | Если имеет значение «yes», строки символов ANSI, которыми обмениваются клиент и сервер, переводятся с использованием Юникода, чтобы минимизировать проблемы сопоставления символов национальных алфавитов кодовых страниц клиента и сервера. Клиентские SQL_C_CHAR данные, отправленные в объект SQL Server char, varchar или текстовые переменные, параметр или столбец, преобразуются из символа в Юникод с помощью клиентской кодовой страницы ANSI (ACP), а затем преобразуются из Юникода в символ с помощью ACP сервера. Sql Server char, varchar или текстовые данные, отправленные клиенту, SQL_C_CHAR переменная преобразуется из символа в Юникод с помощью сервера ACP, а затем преобразуется из Юникода в символ с помощью клиентского ACP. Эти преобразования выполняются на клиенте драйвером ODBC собственного клиента SQL Server. Для этого необходимо, чтобы на сервере была доступна такая же кодовая страница ANSI, какая используется на клиенте. Следующие параметры не влияют на преобразования, выполняемые для этих передач. * Юникод SQL_C_WCHAR клиентские данные, отправленные в char, varchar или текст на сервере. * данные char, varchar или текстового сервера, отправленные в переменную Юникода SQL_C_WCHAR на клиенте. * ANSI SQL_C_CHAR клиентские данные, отправленные в Юникод nchar, nvarchar или ntext на сервере. * Данные сервера Юникода nchar, nvarchar или ntext , отправленные в переменную ANSI SQL_C_CHAR на клиенте. Если имеет значение «no», перевод символов не выполняется. Драйвер ODBC собственного клиента SQL Server не преобразует символы ANSI клиента, SQL_C_CHAR данные, отправленные в char, varchar или текстовые переменные, параметры или столбцы на сервере. Преобразование не выполняется на char, varchar или текстовых данных, отправляемых с сервера на SQL_C_CHAR переменных на клиенте. Если клиент и SQL Server используют разные APS, расширенные символы могут быть неправильно интерпретированы. |
База данных | Имя базы данных SQL Server по умолчанию для подключения. Если база данных не указана, используется база данных по умолчанию, определенная для имени входа. База данных по умолчанию из источника данных ODBC переопределяет базу данных по умолчанию, определенную для имени входа. База данных должна быть существующей базой данных, если параметр AttachDBFileName также не указан. Если параметр AttachDBFileName также указан, основной файл, на который он указывает, подключен и имеет имя базы данных, указанное базой данных. |
Драйвер | Имя драйвера, возвращаемого SQLDrivers. Ключевое слово для драйвера ODBC собственного клиента SQL Server — {SQL Server Native Client 11.0}. Ключевое слово server требуется, если драйвер указан, а DriverCompletion имеет значение SQL_DRIVER_NOPROMPT. Дополнительные сведения об именах драйверов см. в разделе "Использование заголовка и файлов библиотеки sql Server Native Client". |
DSN | Имя существующего пользователя ODBC или системного источника данных. Это ключевое слово переопределяет любые значения, которые могут быть указаны в ключевых словах Server, Network и Address . |
Encrypt | Указывает, необходимо ли шифрование данных перед их отправкой по сети. Возможные значения: "да"/"обязательный"(18.0+), "no"/"необязательный"(18.0+) и "strict"(18.0+). Значение по умолчанию — "да" в версии 18.0+ и "нет" в предыдущих версиях. |
Резерв | Это ключевое слово устарело, и его параметр игнорируется драйвером ODBC собственного клиента SQL Server. |
Failover_Partner | Имя сервера партнера по обеспечению отработки отказа, которое будет использоваться, если невозможно установить соединение с сервером-источником. |
FailoverPartnerSPN | Имя участника-службы для партнера по обеспечению отработки отказа. Значение по умолчанию — пустая строка. Пустая строка приводит к тому, что собственный клиент SQL Server использует имя субъекта-службы, созданное по умолчанию. |
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 для ускорения обнаружения и подключения к активному серверу (в настоящее время). Возможные значения: Да и Нет. Значение по умолчанию — No. Например:MultiSubnetFailover=Yes Дополнительные сведения о поддержке собственного клиента SQL Server для групп доступности AlwaysOn см. в статье "Поддержка клиентов 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_IDENTIFIER задано для подключения, SQL Server использует правила ISO относительно использования кавычки в инструкциях SQL. Если нет, QUOTED_IDENTIFIER настроено off для подключения. Затем SQL Server следует устаревшим правилам Transact-SQL относительно использования кавычки в инструкциях SQL. Дополнительные сведения см. в разделе "Эффекты параметров ISO". |
Regional | Если "да", драйвер ODBC собственного клиента SQL Server использует параметры клиента при преобразовании данных валюты, даты и времени в символьные данные. Преобразование является односторонним, то есть драйвер не распознает строки даты и значения валюты, отличные от стандарта ODBC, например, параметры инструкций INSERT или UPDATE. Если имеет значение «no», драйвер использует стандартные строки ODBC для представления данных валюты, даты и времени, преобразуемых в символьные данные. |
SaveFile | Имя исходного файла данных ODBC, в который сохраняются атрибуты текущего соединения, если соединение успешно установлено. |
Сервер | Имя экземпляра SQL Server. Значение должно быть либо именем сервера в сети, IP-адресом или именем псевдонима диспетчер конфигурации SQL Server. Ключевое слово Address переопределяет ключевое слово Server. Чтобы подключиться к экземпляру по умолчанию на локальном сервере, можно указать одно из следующих ключевых слов: Server=; Server=.; Server=(local); Server=(local); Server=(localhost); Server=(localdb)\ имя экземпляра; Дополнительные сведения о поддержке LocalDB см. в статье sql Server Native Client Support for LocalDB. Чтобы указать именованный экземпляр SQL Server, добавьте \имя экземпляра. Если сервер не указан, устанавливается соединение с экземпляром по умолчанию на локальном компьютере. Если указать IP-адрес, убедитесь, что протоколы TCP/IP или именованных каналов включены в диспетчер конфигурации SQL Server. Далее представлен полный синтаксис ключевого слова Server. Server=[protocol:]Server[,port] Параметрпротокол может иметь значение tcp (TCP/IP), lpc (общая память) или np (именованные каналы). Ниже приводится пример указания именованного канала: np:\\.\pipe\MSSQL$MYINST01\sql\query Эта строка указывает протокол именованного канала, именованный канал на локальном компьютере (), имя экземпляра SQL Server ( \\.\pipe MSSQL$MYINST01 ) и имя именованного канала (sql/query ).Если ни протокол, ни ключевое слово "Сеть" не указано, sql Server Native Client будет использовать порядок протокола, указанный в диспетчер конфигурации SQL Server. port — это порт указанного сервера, к которому выполняется подключение. По умолчанию SQL Server использует порт 1433. Пробелы игнорируются в начале значения, переданного серверу в строка подключения ODBC при использовании собственного клиента SQL Server. |
ServerSPN | Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Пустая строка приводит к тому, что собственный клиент SQL Server использует имя субъекта-службы, созданное по умолчанию. |
StatsLog_On | Если значение "да", включает запись данных производительности драйвера ODBC собственного клиента SQL Server. Если значение "нет", данные о производительности драйвера ODBC собственного клиента SQL Server недоступны в подключении. |
StatsLogFile | Полный путь и имя файла, используемого для записи статистики производительности драйвера ODBC собственного клиента SQL Server. |
Trusted_Connection | Когда "да" указывает драйверу 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 и возвращается 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.
Ключевое слово | Свойство инициализации | Description |
---|---|---|
Addr | SSPROP_INIT_NETWORKADDRESS | Синоним для «Address». |
Адрес | SSPROP_INIT_NETWORKADDRESS | Сетевой адрес экземпляра SQL Server в организации. Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова Address ODBC далее в этом разделе. |
APP | SSPROP_INIT_APPNAME | Строка, идентифицирующая приложение. |
ApplicationIntent | SSPROP_INIT_APPLICATIONINTENT | Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения — ReadOnly и ReadWrite. Значение по умолчанию — ReadWrite. Дополнительные сведения о поддержке собственного клиента SQL Server для групп доступности AlwaysOn см. в статье "Поддержка клиентов 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 будет использовать имя субъекта-службы, созданное поставщиком по умолчанию. |
Язык | SSPROP_INIT_CURRENTLANGUAGE | Язык SQL Server. |
MarsConn | SSPROP_INIT_MARSCONNECTION | Включает или отключает несколько активных результирующих наборов (MARS) на подключении, если сервер — SQL Server 2005 (9.x) или более поздней версии. Допустимы значения «yes» и «no». Значение по умолчанию — «no». |
Net | SSPROP_INIT_NETWORKLIBRARY | Синоним для «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. |
Сервер | DBPROP_INIT_DATASOURCE | Имя экземпляра SQL Server в организации. Если имя не задано, то производится соединение с экземпляром по умолчанию на локальном компьютере. Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова ODBC сервера в этом разделе. |
ServerSPN | SSPROP_INIT_SERVERSPN | Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Пустая строка приводит к тому, что собственный клиент SQL Server будет использовать имя субъекта-службы, созданное поставщиком по умолчанию. |
Время ожидания | DBPROP_INIT_TIMEOUT | Время (в секундах), в течение которого ожидается завершение инициализации источника данных. |
Trusted_Connection | DBPROP_AUTH_INTEGRATED | Когда значение "да", указывает поставщику 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.
Ключевое слово | Свойство инициализации | Description |
---|---|---|
Имя приложения | SSPROP_INIT_APPNAME | Строка, идентифицирующая приложение. |
Application Intent | SSPROP_INIT_APPLICATIONINTENT | Синоним "ApplicationIntent". |
ApplicationIntent | SSPROP_INIT_APPLICATIONINTENT | Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения — ReadOnly и ReadWrite. Значение по умолчанию — ReadWrite. Дополнительные сведения о поддержке собственного клиента SQL Server для групп доступности AlwaysOn см. в статье "Поддержка клиентов 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 будет использовать имя субъекта-службы, созданное поставщиком по умолчанию. |
Исходный каталог | 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 в организации. Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова Address ODBC далее в этом разделе. |
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 это должно быть "SQLNCLI11". | |
Server SPN | SSPROP_INIT_SERVERSPN | Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Пустая строка приводит к тому, что собственный клиент SQL Server будет использовать имя субъекта-службы, созданное поставщиком по умолчанию. |
Надежный сертификат сервера | 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.
Ключевое слово | Свойство инициализации | Description |
---|---|---|
Application Intent | SSPROP_INIT_APPLICATIONINTENT | Синоним "ApplicationIntent". |
ApplicationIntent | SSPROP_INIT_APPLICATIONINTENT | Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения — ReadOnly и ReadWrite. Значение по умолчанию — ReadWrite. Дополнительные сведения о поддержке собственного клиента SQL Server для групп доступности AlwaysOn см. в статье "Поддержка клиентов 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 будет использовать имя субъекта-службы, созданное поставщиком по умолчанию. |
Исходный каталог | 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 в организации. Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого слова Address ODBC в этом разделе. |
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 это должно быть "SQLNCLI11". | |
Server SPN | SSPROP_INIT_SERVERSPN | Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Пустая строка приводит к тому, что собственный клиент SQL Server будет использовать имя субъекта-службы, созданное поставщиком по умолчанию. |
Надежный сертификат сервера | 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