Аргумент CONNECTION_OPTIONS для инструкции CREATE EXTERNAL DATA SOURCE (Transact-SQL)

В этой статье приводятся дополнительные сведения об аргументе CONNECTION_OPTIONS в зависимости от поставщика. Аргумент CONNECTION_OPTIONS для инструкции CREATE EXTERNAL DATA SOURCE может отличаться в зависимости от внешнего поставщика данных.

Аргумент CONNECTION_OPTIONS для CREATE EXTERNAL DATA SOURCE был впервые представлен в SQL Server 2019 (15.x). Этот документ относится к SQL Server 2019 (15.x) для Windows и Linux, а также к кластерам больших данных SQL Server 2019.

  • key_value_pair — это ключевое слово и значение для конкретного параметра соединения.
  • Чтобы использовать несколько параметров подключения, укажите их через точку с запятой.
  • Возможные пары "ключ-значение" зависят от драйвера.

В оставшейся части этой статьи описываются параметры подключения, зависящие от поставщика.

Внешний источник данных SQL Server

Можно указывать только пары "ключ —значение", для которых есть запись в статье Ключевые слова и атрибуты строки подключения и имени DSN (колонка Ключевые слова строки подключения и имени DSN). Например, ключевое слово SQL_ATTR_TXN_ISOLATION не поддерживается, так как это набор атрибутов с использованием SQLSetConnectAttr, а не в строке подключения.

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

Ключевые слова и параметры строки подключения для поставщиков Microsoft ODBC:

Oracle;

Можно указывать только пары "ключ — значение", для которых есть запись в таблице протоколов коммутации Oracle, следующим образом:

Атрибут (короткое имя) Значение по умолчанию
AccountingInfo (AI) None
Action (ACT) None
AlternateServers (ASRV) None
AllowedOpenSSLVersions (AOV) последняя
ApplicationName (AN) None
ApplicationUsingThreads (AUT) 1 (включен)
ArraySize (AS) 60 000
AuthenticationMethod (AM) 1 (шифрование с паролем)
BatchFailureReturnsError (BFRE) 0 (отключено)
BindParamsAsUnicode (BPAU) 0 (отключено)
BulkBinaryThreshold (BBT) 32
BulkCharacterThreshold (BCT) -1
BulkLoadBatchSize (BLBS) 1024
BulkLoadFieldDelimiter (BLFD) None
BulkLoadOptions (BLO) 0
BulkLoadRecordDelimiter (BLRD) None
CachedCursorLimit (CCL) 32
CachedDescriptionLimit (CDL) 0
CatalogIncludesSynonyms (CIS) 1 (включен)
CatalogOptions (CO) 0 (отключено)
ClientHostName (CHN) None
ClientID (CID) None
ClientUser (CU) None
ConnectionReset (CR) 0 (отключено)
ConnectionRetryCount (CRC) 0
ConnectionRetryDelay (CRD) 3
CredentialsWalletEntry (CWE) None
CredentialsWalletPassword (CWPWD) None
CredentialsWalletPath (CWPATH) None
CryptoProtocolVersion (CPV) TLSv1.2, TLSv1.1, TLSv1
CryptoLibName (CLN) Пустая строка.
DataIntegrityLevel (DIL) 1 (принято)
DataIntegrityTypes (DIT) MD5, SHA1, SHA256, SHA384, SHA512
DataSourceName (DSN) None
DefaultLongDataBuffLen (DLDBL) 1024
DescribeAtPrepare (DAP) 0 (отключено)
Description (нет) None
EditionName (EN) None
EnableBulkLoad (EBL) 0 (отключено)
EnableDescribeParam (EDP) 0 (отключено)
EnableNcharSupport (ENS) (не рекомендуется) None
EnableScrollableCursors (ESC) 1 (включен)
EnableServerResultCache (ESRC) 0 (отключено)
EnableStaticCursorsForLongData (ESCLD) 0 (отключено)
EnableTimestampwithTimezone (ETWT) (не рекомендуется) None
EncryptionLevel (EL) 1 (принято)
EncryptionMethod (EM) 0 (без шифрования)
EncryptionTypes (ET) Методы шифрования не указаны. Драйвер отправляет список всех методов шифрования на сервер Oracle.
FailoverGranularity (FG) 0 (не атомарная)
FailoverMode (FM) 0 (подключение)
FailoverPreconnect (FP) 0 (отключено)
FetchTSWTZasTimestamp (FTSWTZAT) 0 (отключено)
GSSClient (GSSC) в машинном коде
HostName (HOST) None
HostNameInCertificate (HNIC) None
IANAAppCodePage (IACP) (только для UNIX и Linux) 4 (ISO 8559-1, Latin-1)
ImpersonateUser (IU) None
InitializationString (IS) None
KeepAlive (KA) 0 (отключено)
KeyPassword (KP) None
Keystore (KS) None
KeystorePassword (KSP) None
LDAPDistinguishedName (LDAPDN) None
LoadBalanceTimeout (LBT) 0
LoadBalancing (LB) 0 (отключено)
LOBPrefetchSize (LPS) 4000
LocalTimezoneOffset (LTZO) "" (пустая строка)
LockTimeout (LTO) -1
LoginTimeout (LT) 15
LogonID (UID) None
MaxPoolSize (MXPS) 100
MinPoolSize (MNPS) 0
Module (MOD) None
Password (PWD) None
Pooling (POOL) 0 (отключено)
PortNumber (PORT) None
PRNGSeedFile (PSF) (только для UNIX и Linux) /dev/random
PRNGSeedSource (PSS) (только для UNIX и Linux) 0 (файл)
ProcedureRetResults (PRR) 0 (отключено)
ProgramID (PID) None
ProxyHost (PXHN) Пустая строка.
ProxyMode (PXM) 0 (нет)
ProxyPassword (PXPW) Пустая строка.
ProxyPort (PXPT) 0
ProxyUser (PXU) Пустая строка.
QueryTimeout (QT) 0
ReportCodepageConversionErrors (RCCE) 0 (пропускать ошибки)
ReportRecycleBin (RRB) 0 (отключено)
SDUSize (SDU) 16384
ServerName (SRVR) None
ServerType (ST) 0 (по умолчанию для сервера)
ServiceName (SN) Нет. Если для параметра SID, ServiceName или TNSNames не указано значение, драйвер по умолчанию пытается подключиться к SID ORCL.
SID (SID) Нет. Если для параметра SID, ServiceName или TNSNames не указано значение, драйвер по умолчанию пытается подключиться к SID ORCL.
SSLLibName (SLN) Пустая строка.
SupportBinaryXML (SBX) 0 (отключено)
TimestampEscapeMapping (TEM) 0 (в зависимости от версии Oracle)
TNSNamesFile (TNF) Нет. Если для параметра SID, ServiceName или TNSNames не указано значение, драйвер по умолчанию пытается подключиться к SID ORCL.
Truststore (TS) None
TruststorePassword (TSP) None
UseCurrentSchema (UCS) 1 (включен)
UseDefaultEncryptionOptions 1 (включен)
ValidateServerCertificate (VSC) 1 (включен)
WireProtocolMode (WPM) 2

Teradata

Можно указывать только пары "ключ — значение", для которых есть запись в параметрах конфигурации соединителя, указанных в разделе Параметры конфигурации соединителя Teradata.

API MongoDB для Cosmos DB

Можно указывать только пары "ключ — значение", для которых есть запись в параметрах конфигурации драйвера ниже.

Имя раздела По умолчанию Обязательно Описание
DefaultStringColumnLength 255 Нет Максимальное количество символов, которые могут содержаться в строковых столбцах. Максимальное значение, которое можно задать для этого параметра, — 2147483647.
noCursorTimeout False Нет Этот параметр определяет, разрешает ли драйвер истечение срока действия активных курсоров на сервере источника данных. Если задано значение FALSE, сервер источника данных будет завершать работу неактивных курсоров по истечении порогового периода бездействия, установленного на сервере. Если задано значение TRUE, драйвер не позволяет серверу источника данных отключать неактивные курсоры, и существует риск, что если драйвер выйдет из системы или неожиданно потеряет соединение с сервером, курсор будет оставаться открытым на сервере неопределенное время. Пороговое значение тайм-аута простоя курсора на сервере MongoDB можно настроить. Дополнительные сведения см. в этой статье: https://docs.mongodb.com/v3.0/reference/parameters/.
SamplingLimit 100 Нет Максимальное число записей, которые драйвер может выбрать для создания определения временной схемы. Если для этого параметра задано значение 0, драйвер делает выборку каждого документа в базе данных.

Обязательно настройте драйвер на выборку всех необходимых данных. Документы, не попавшие в выборку, не включаются в определение схемы и, соответственно, не становятся доступными в приложениях ODBC.

Как правило, выборка большого количества документов приводит к созданию более точного определения схемы, которое лучше представляет все данные в базе данных. Однако процесс выборки может занять больше времени, чем ожидалось, когда отбирается много документов, особенно если база данных содержит сложные вложенные структуры данных.
SamplingStrategy Вперед Нет Этот параметр указывает, как драйвер выполняет выборку данных при создании определения временной схемы.

Вперед: драйвер делает выборку данных, начиная с первой записи в базе данных, затем делает выборку следующей записи и так далее.
Назад: драйвер делает выборку данных, начиная с последней записи в базе данных, затем делает выборку предыдущей записи и так далее.
Произвольно: драйвер выбирает образцы записей из источника данных случайным образом до достижения значения SamplingLimit.
SSL Clear (0) Нет Этот параметр указывает, использует ли драйвер протокол SSL для подключения к серверу. Включено (1): драйвер использует SSL для подключения к серверу. Отключено (0): драйвер не использует SSL для подключения к серверу.

Универсальные данные ODBC

Допустимые аргументы CONNECTION_OPTIONS, которые можно указать для универсального внешнего источника данных ODBC PolyBase, зависят от драйвера. Если не используется поставщик ODBC, предоставленный Майкрософт (см. предыдущий раздел), для получения информации о допустимых парах "ключ — значение" обратитесь к документации драйвера.

В PolyBase есть несколько допустимых пар "ключ — значение", доступных для всех универсальных драйверов ODBC. В накопительном пакете обновления 5 (CU5) в SQL Server 2019 были добавлены следующие ключи.

Ключ Возможные значения Описание
PolyBaseOdbcSupportsRowCount true, false Указывает, поддерживает ли драйвер функцию SQLRowCount, вызываемую в функциях каталога ODBC. Значение по умолчанию — false. Например: CONNECTION_OPTIONS='PolyBaseOdbcSupportsRowCount=TRUE'.
PolyBaseOdbcSupportsMetadataIdAttributes true, false Указывает, поддерживает ли драйвер указание атрибута инструкции METADATA_ID. Значение по умолчанию — false. Например: CONNECTION_OPTIONS='PolyBaseOdbcSupportsMetadataIdAttributes=TRUE'.
PolyBaseOdbcSupportsBindOffset true, false Указывает, поддерживает ли драйвер смещение привязки для привязки на уровне строки для результирующих наборов. В противном случае используйте привязку к столбцу. Значение по умолчанию — false. Например: CONNECTION_OPTIONS='PolyBaseOdbcSupportsBindOffset=TRUE'.
PolyBaseQoTopPushdownSyntax TOP, LIMIT Содержит сведения, указывающие способ отправки оператора TOP в серверную часть. Значение по умолчанию — пустая строка, указывающая на отсутствие поддержки отправки TOP. Если пользователь указывает TOP, в качестве строки формата используется top {0}. Если пользователь указывает LIMIT, в качестве строки формата используется limit {0}. Эта реализация зависит от драйвера. См. документацию по внешнему источнику данных и (или) драйверу. Например: CONNECTION_OPTIONS= PolyBaseQoTopPushdownSyntax=TOP'.

Дальнейшие действия