CREATE EXTERNAL DATA SOURCE (Transact-SQL) CONNECTION_OPTIONS

En este artículo se proporcionan detalles adicionales para CONNECTION_OPTIONS en función del proveedor. El argumento CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS puede variar en función del proveedor de datos externo.

El argumento CONNECTION_OPTIONS para CREATE EXTERNAL DATA SOURCE se introdujo por primera vez en SQL Server 2019 (15.x). Este documento se aplica a SQL Server 2019 (15.x) para Windows y Linux, así como a clústeres de macrodatos de SQL Server 2019.

  • key_value_pair es la palabra clave y el valor de una opción de conexión específica.
  • Para usar varias opciones de conexión, sepárelas mediante punto y coma.
  • Los posibles pares clave-valor son específicos del controlador.

El resto de este artículo contiene opciones de conexión específicas del proveedor.

Origen de datos externos de SQL Server

Solo puede especificar los pares clave-valor que tienen una entrada en Atributos y palabras clave de cadena de conexión y DSN en la columna Palabra clave de cadena de conexión y DSN. Por ejemplo, no se admite la palabra clave SQL_ATTR_TXN_ISOLATION, ya que es un conjunto de atributos que usa SQLSetConnectAttr, no en la cadena de conexión.

Palabras clave y opciones de cadena de conexión para proveedores de Microsoft OLE DB:

Palabras clave y opciones de cadena de conexión para proveedores de base de datos de Microsoft ODBC:

Oracle

Solo puede especificar los pares clave-valor que tienen una entrada en la tabla del protocolo de conexión de Oracle de la siguiente manera:

Atributo (nombre corto) Valor predeterminado
AccountingInfo (AI) None
Action (ACT) None
AlternateServers (ASRV) None
AllowedOpenSSLVersions (AOV) latest
ApplicationName (AN) None
ApplicationUsingThreads (AUT) 1 (Habilitado)
ArraySize (AS) 60000
AuthenticationMethod (AM) 1 (Cifrar contraseña)
BatchFailureReturnsError (BFRE) 0 (Deshabilitado)
BindParamsAsUnicode (BPAU) 0 (Deshabilitado)
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 (Habilitado)
CatalogOptions (CO) 0 (Deshabilitado)
ClientHostName (CHN) None
ClientID (CID) None
ClientUser (CU) None
ConnectionReset (CR) 0 (Deshabilitado)
ConnectionRetryCount (CRC) 0
ConnectionRetryDelay (CRD) 3
CredentialsWalletEntry (CWE) None
CredentialsWalletPassword (CWPWD) None
CredentialsWalletPath (CWPATH) None
CryptoProtocolVersion (CPV) TLSv1.2,TLSv1.1,TLSv1
CryptoLibName (CLN) cadena vacía.
DataIntegrityLevel (DIL) 1 (Aceptado)
DataIntegrityTypes (DIT) MD5, SHA1, SHA256, SHA384, SHA512
DataSourceName (DSN) None
DefaultLongDataBuffLen (DLDBL) 1024
DescribeAtPrepare (DAP) 0 (Deshabilitado)
Descripción (N/D) None
EditionName (EN) None
EnableBulkLoad (EBL) 0 (Deshabilitado)
EnableDescribeParam (EDP) 0 (Deshabilitado)
EnableNcharSupport (ENS) (en desuso). None
EnableScrollableCursors (ESC) 1 (Habilitado)
EnableServerResultCache (ESRC) 0 (Deshabilitado)
EnableStaticCursorsForLongData (ESCLD) 0 (Deshabilitado)
EnableTimestampwithTimezone (ETWT) (en desuso) None
EncryptionLevel (EL) 1 (Aceptado)
EncryptionMethod (EM) 0 (sin cifrado)
EncryptionTypes (ET) No se especifica ningún método de cifrado. El controlador envía una lista de todos los métodos de cifrado al servidor de Oracle.
FailoverGranularity (FG) 0 (no atómica)
FailoverMode (FM) 0 (Conexión)
FailoverPreconnect (FP) 0 (Deshabilitado)
FetchTSWTZasTimestamp (FTSWTZAT) 0 (Deshabilitado)
GSSClient (GSSC) nativas
HostName (HOST) None
HostNameInCertificate (HNIC) None
IANAAppCodePage (IACP) (solo UNIX y Linux) 4 (ISO 8559-1 Latin-1)
ImpersonateUser (IU) None
InitializationString (IS) None
KeepAlive (KA) 0 (Deshabilitado)
KeyPassword (KP) None
Keystore (KS) None
KeystorePassword (KSP) None
LDAPDistinguishedName (LDAPDN) None
LoadBalanceTimeout (LBT) 0
LoadBalancing (LB) 0 (Deshabilitado)
LOBPrefetchSize (LPS) 4000
LocalTimezoneOffset (LTZO) "" (Cadena vacía)
LockTimeout (LTO) -1
LoginTimeout (LT) 15
LogonID (UID) None
MaxPoolSize (MXPS) 100
MinPoolSize (MNPS) 0
Module (MOD) None
Password (PWD) None
Pooling (POOL) 0 (Deshabilitado)
PortNumber (PORT) None
PRNGSeedFile (PSF) (solo UNIX y Linux) /dev/random
PRNGSeedSource (PSS) (solo UNIX y Linux) 0 (Archivo)
ProcedureRetResults (PRR) 0 (Deshabilitado)
ProgramID (PID) None
ProxyHost (PXHN) cadena vacía.
ProxyMode (PXM) 0 (NINGUNO)
ProxyPassword (PXPW) cadena vacía.
ProxyPort (PXPT) 0
ProxyUser (PXU) cadena vacía.
QueryTimeout (QT) 0
ReportCodepageConversionErrors (RCCE) 0 (Omitir errores)
ReportRecycleBin (RRB) 0 (Deshabilitado)
SDUSize (SDU) 16384
ServerName (SRVR) None
ServerType (ST) 0 (valor predeterminado del servidor)
ServiceName (SN) Ninguno. Si no se especifica ningún valor para la opción SID, el nombre del servicio o la opción TNSNames, el controlador intenta conectarse al SID de ORCL de forma predeterminada.
SID (SID) Ninguno. Si no se especifica ningún valor para la opción SID, el nombre del servicio o la opción TNSNames, el controlador intenta conectarse al SID de ORCL de forma predeterminada.
SSLLibName (SLN) cadena vacía.
SupportBinaryXML (SBX) 0 (Deshabilitado)
TimestampEscapeMapping (TEM) 0 (específico de la versión de Oracle)
TNSNamesFile (TNF) Ninguno. Si no se especifica ningún valor para la opción SID, el nombre del servicio o la opción TNSNames, el controlador intenta conectarse al SID de ORCL de forma predeterminada.
Truststore (TS) None
TruststorePassword (TSP) None
UseCurrentSchema (UCS) 1 (Habilitado)
UseDefaultEncryptionOptions 1 (Habilitado)
ValidateServerCertificate (VSC) 1 (Habilitado)
WireProtocolMode (WPM) 2

Teradata

Solo puede especificar los pares clave-valor que tienen una entrada en las opciones de configuración del conector proporcionadas en las opciones de configuración del conector de Teradata.

API de MongoDB para Cosmos DB

Solo puede especificar los pares clave-valor que tienen una entrada en las opciones de configuración del controlador siguientes.

Nombre de clave Valor predeterminado Requerido Descripción
DefaultStringColumnLength 255 No Número máximo de caracteres que se pueden contener en columnas STRING. El valor máximo que puede establecer para esta opción es 2147483647.
noCursorTimeout False No Esta opción especifica si el controlador permite que expiren los cursores activos en el servidor de origen de datos. Cuando es FALSE, el servidor de origen de datos agotará el tiempo de espera de los cursores inactivos después del período de inactividad del umbral establecido en el servidor. Cuando se establece en TRUE, el controlador impide que el servidor de origen de datos agote el tiempo de espera de los cursores inactivos, y existe el riesgo de que, si el controlador se cierra o pierde la conexión con el servidor inesperadamente, el cursor permanezca abierto en el servidor indefinidamente. Puede ajustar el umbral de los tiempos de espera de cursor inactivos en el servidor MongoDB. Para obtener más información, consulte https://docs.mongodb.com/v3.0/reference/parameters/.
SamplingLimit 100 No Número máximo de registros que el controlador puede muestrear para generar una definición de esquema temporal. Cuando esta opción se establece en 0, el controlador muestrea todos los documentos de la base de datos.

Asegúrese de configurar el controlador para muestrear todos los datos necesarios. Los documentos que no se muestrean no se incluyen en la definición de esquema y, por tanto, no están disponibles en las aplicaciones ODBC.

Normalmente, el muestreo de un gran número de documentos da como resultado una definición de esquema más precisa y más capaz de representar todos los datos de la base de datos. Sin embargo, el proceso de muestreo puede tardar más de lo esperado cuando se muestrean muchos documentos, especialmente si la base de datos contiene estructuras de datos complejas anidadas.
SamplingStrategy Adelante No Esta opción especifica cómo el controlador muestrea los datos al generar una definición de esquema temporal.

Adelante: el controlador muestra los datos a partir del primer registro de la base de datos y, a continuación, muestrea el siguiente registro, etc.
Atrás: el controlador muestrea los datos a partir del último registro de la base de datos, luego muestrea el registro anterior, etc.
Aleatorio: el controlador selecciona registros de muestra del origen de datos de forma aleatoria hasta que se alcanza el valor SamplingLimit.
SSL Desactivar (0) No Esta opción especifica si el controlador usa SSL para conectarse al servidor. Habilitado (1): el controlador usa SSL para conectarse al servidor. Deshabilitado (0): el controlador no usa SSL para conectarse al servidor.

ODBC genérico

Los valores de CONNECTION_OPTIONS válidos que puede especificar para el origen de datos externo de ODBC genérico de PolyBase son específicos del controlador. Si no usa un proveedor ODBC proporcionado por Microsoft (vea la sección anterior), consulte la documentación del controlador para obtener pares clave-valor válidos.

Hay algunos pares clave-valor válidos en PolyBase que están disponibles para todos los controladores ODBC genéricos. Las claves siguientes se agregaron a SQL Server 2019 en CU5.

Clave Valores posibles Descripción
PolyBaseOdbcSupportsRowCount true, FALSE Indica si el controlador admite o no la función SQLRowCount a la que se llama en las funciones del catálogo ODBC. El valor predeterminado es False. Por ejemplo: CONNECTION_OPTIONS='PolyBaseOdbcSupportsRowCount=TRUE'.
PolyBaseOdbcSupportsMetadataIdAttributes true, FALSE Indica si el controlador admite o no la configuración del atributo de instrucción METADATA_ID. El valor predeterminado es False. Por ejemplo: CONNECTION_OPTIONS='PolyBaseOdbcSupportsMetadataIdAttributes=TRUE'.
PolyBaseOdbcSupportsBindOffset true, FALSE Indica si el controlador admite o no los desplazamientos de enlace para el enlace por filas de los conjuntos de resultados. Si no es así, use el enlace de columnas. El valor predeterminado es False. Por ejemplo: CONNECTION_OPTIONS='PolyBaseOdbcSupportsBindOffset=TRUE'.
PolyBaseQoTopPushdownSyntax TOP, LIMIT Contiene información que especifica cómo insertar el operador TOP en el back-end. El valor predeterminado es una cadena vacía, lo que indica la falta de compatibilidad con la delegación TOP. Si el usuario especifica TOP, top {0} se usa como cadena de formato. Si el usuario especifica LIMIT, limit {0} se usa como cadena de formato. Esta implementación es específica del controlador, consulte el origen de datos externo o la documentación del controlador. Por ejemplo: CONNECTION_OPTIONS= PolyBaseQoTopPushdownSyntax=TOP'.

Pasos siguientes