Usar palabras clave de cadena de conexión con SQL Server Native Client

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Importante

SQL Server Native Client (a menudo abreviado SNAC) se ha quitado de SQL Server 2022 (16.x) y SQL Server Management Studio 19 (SSMS). No se recomienda SQL Server Native Client (SQLNCLI o SQLNCLI11) ni el proveedor OLE DB de Microsoft heredado para SQL Server (SQLOLEDB) para el desarrollo de nuevas aplicaciones. Cambie al nuevo controlador OLE DB de Microsoft (MSOLEDBSQL) para SQL Server o al controlador ODBC de Microsoft ODBC Driver for SQL Server más reciente de ahora en adelante. Para SQLNCLI que se incluye como componente de SQL Server motor de base de datos (versiones 2012 a 2019), consulte esta excepción de ciclo de vida de soporte técnico.

Algunas api de SQL Server Native Client usan cadenas de conexión para especificar atributos de conexión. Las cadenas de conexión son listas de palabras clave y valores asociados; cada palabra clave identifica un atributo de conexión determinado.

Para obtener información, consulte Uso de palabras clave de cadena de conexión con OLE DB Driver for SQL Server.

Nota:

SQL Server Native Client permite que la ambigüedad en las cadenas de conexión mantenga la compatibilidad con versiones anteriores (por ejemplo, algunas palabras clave se pueden especificar más de una vez y se pueden permitir palabras clave en conflicto con la resolución en función de la posición o prioridad). Es recomendable modificar las aplicaciones para usar SQL Server Native Client para eliminar cualquier dependencia de ambigüedad de cadena de conexión.

En las secciones siguientes se describen las palabras clave que se pueden usar con el proveedor OLE DB de SQL Server Native Client, el controlador ODBC SQL Server Native Client y Los objetos de datos ActiveX (ADO) al usar SQL Server Native Client como proveedor de datos.

Palabras clave de la cadena de conexión del controlador ODBC

Las aplicaciones ODBC usan cadenas de conexión como parámetros para las funciones SQLDriverConnect y SQLBrowseConnect .

Las cadenas de conexión utilizadas por ODBC presentan la sintaxis siguiente:

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

empty-string ::=

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

attribute-value ::= character-string

attribute-keyword ::= identifier

Los valores de atributo pueden incluirse opcionalmente entre llaves y es una práctica recomendable. Esto evita que se produzcan problemas cuando los valores de atributo contienen caracteres no alfanuméricos. Se supone que la primera llave de cierre del valor termina el valor, de modo que los valores no pueden contener caracteres de llave de cierre.

En la tabla siguiente se describen las palabras clave que pueden utilizarse con una cadena de conexión ODBC.

Palabra clave Descripción
Addr Sinónimo de "Address".
Dirección Dirección de red del servidor en el que se ejecuta una instancia de SQL Server. Address suele ser el nombre de red del servidor, pero también puede ser otros nombres, como una canalización, una dirección IP o un puerto TCP/IP y una dirección de socket.

Si especifica una dirección IP, asegúrese de que los protocolos TCP/IP o de canalizaciones con nombre estén habilitados en el Administrador de configuración de SQL Server.

El valor de Address tiene prioridad sobre el valor pasado al servidor en cadenas de conexión ODBC cuando se usa SQL Server Native Client. Tenga también en cuenta que Address=; se conecta al servidor especificado en la palabra clave Server, mientras que Address= ;, Address=.;, Address=localhost; y Address=(local); establecen una conexión al servidor local.

La sintaxis completa de la palabra clave Address es la siguiente:

[protocolo:]Address[,puerto |\canalización\nombreDeCanalización]

protocolo puede ser tcp (TCP/IP), lpc (memoria compartida) o np (canalizaciones con nombre). Para más información sobre protocolos, consulte Configuración de protocolos de cliente.

Si no se especifica ni el protocolo ni la palabra clave Network, SQL Server Native Client usará el orden de protocolo especificado en Administrador de configuración de SQL Server.

port es el puerto al que se va a conectar en el servidor especificado. De forma predeterminada, SQL Server usa el puerto 1433.
AnsiNPW Cuando es "yes", el controlador usa comportamientos definidos por ANSI para controlar las comparaciones NULL, el relleno de datos de caracteres, las advertencias y la concatenación NULL. Cuando es "no", no se exponen los comportamientos definidos por ANSI. Para obtener más información sobre los comportamientos de ANSI NPW, vea Efectos de las opciones ISO.
APP Nombre de la aplicación que llama a SQLDriverConnect (opcional). Si se especifica, este valor se almacena en la columna master.dbo.sysprocessesprogram_name y se devuelve mediante sp_who y las funciones de APP_NAME .
ApplicationIntent Declara el tipo de carga de trabajo de la aplicación al conectarse a un servidor. Los valores posibles son ReadOnly y ReadWrite. El valor predeterminado es ReadWrite. Por ejemplo:

ApplicationIntent=ReadOnly

Para obtener más información sobre la compatibilidad de SQL Server Native Client con grupos de disponibilidad de Always On, consulte SQL Server Native Client compatibilidad con alta disponibilidad y recuperación ante desastres.
AttachDBFileName Nombre del archivo principal de una base de datos adjuntable. Incluya la ruta de acceso completa y todos los caracteres de escape \ si usa una variable de cadena de caracteres de C:

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

Esta base de datos se adjunta y se convierte en la base de datos predeterminada para la conexión. Para usar AttachDBFileName , también debe especificar el nombre de la base de datos en el parámetro SQLDriverConnect DATABASE o en el atributo de conexión SQL_COPT_CURRENT_CATALOG. Si la base de datos se adjuntó anteriormente, SQL Server no vuelve a adjuntarla; usa la base de datos adjunta como valor predeterminado para la conexión.
AutoTranslate Cuando es "yes", las cadenas de caracteres ANSI enviadas entre el cliente y el servidor se traducen mediante la conversión a través de Unicode para minimizar los problemas de caracteres extendidos coincidentes entre las páginas de códigos del cliente y del servidor.

El cliente SQL_C_CHAR los datos enviados a un SQL Server variable de texto, varchar o variable de texto, parámetro o columna se convierten de carácter a Unicode mediante la página de códigos ANSI (ACP) del cliente y, a continuación, se convierten de Unicode a carácter mediante el ACP del servidor.

SQL Server datos char, varchar o text enviados a un cliente SQL_C_CHAR variable se convierte de carácter a Unicode mediante el ACP del servidor y, a continuación, se convierte de Unicode a carácter mediante el ACP del cliente.

El controlador ODBC SQL Server Native Client realiza estas conversiones en el cliente. Esto requiere que la misma página de códigos ANSI (ACP) que se utiliza en el servidor esté disponible en el cliente.

Esta configuración no tiene ningún efecto en las conversiones que se realizan para estas transferencias:

* Unicode SQL_C_WCHAR datos de cliente enviados a char, varchar o text en el servidor.

* datos de servidor char, varchar o text enviados a una variable unicode SQL_C_WCHAR en el cliente.

* ANSI SQL_C_CHAR datos de cliente enviados a Unicode nchar, nvarchar o ntext en el servidor.

* Datos de servidor Unicode nchar, nvarchar o ntext enviados a una variable anSI SQL_C_CHAR en el cliente.

Cuando es "no", no se realiza la traducción de caracteres.

El controlador ODBC de SQL Server Native Client no traduce el carácter ANSI del cliente SQL_C_CHAR datos enviados a variables de texto, varchar o char, parámetros o columnas del servidor. No se realiza ninguna traducción en los datos char, varchar o text enviados desde el servidor a SQL_C_CHAR variables en el cliente.

Si el cliente y el SQL Server usan diferentes ACL, es posible que los caracteres extendidos se malinterpreten.
Base de datos Nombre de la base de datos de SQL Server predeterminada para la conexión. Si no se especifica Database , se usa la base de datos predeterminada definida para el inicio de sesión. La base de datos predeterminada del origen de datos ODBC invalida la base de datos predeterminada definida para el inicio de sesión. La base de datos debe ser una base de datos existente a menos que también se especifique AttachDBFileName . Si también se especifica AttachDBFileName , el archivo principal al que apunta se adjunta y se le asigna el nombre de la base de datos especificado por Database.
Controlador Nombre del controlador tal y como devuelve SQLDrivers. El valor de palabra clave del controlador ODBC de SQL Server Native Client es "{SQL Server Native Client 11.0}". La palabra clave Server es necesaria si se especifica Driver y DriverCompletion se establece en SQL_DRIVER_NOPROMPT.

Para obtener más información sobre los nombres de controladores, vea Uso de los archivos de encabezado y biblioteca de SQL Server Native Client.
DSN Nombre de un usuario de ODBC u origen de datos del sistema existente. Esta palabra clave invalida los valores que se pueden especificar en las palabras clave Server, Network y Address .
Encrypt Especifica si los datos deben cifrarse antes de enviarse a través de la red. Los valores posibles son "sí"/"obligatorio"(18.0+), "no"/"optional"(18.0+) y "strict"(18.0+). El valor predeterminado es "sí" en la versión 18.0+ y "no" en versiones anteriores.
Reserva Esta palabra clave está en desuso y SQL Server Native Client el controlador ODBC omite su configuración.
Failover_Partner Nombre del servidor del asociado de conmutación por error que va a utilizarse si no puede establecerse una conexión al servidor principal.
FailoverPartnerSPN SPN del asociado de conmutación por error. El valor predeterminado es una cadena vacía. Una cadena vacía hace que SQL Server Native Client usen el SPN generado por el controlador predeterminado.
FileDSN Nombre de origen de datos de un archivo ODBC existente.
Lenguaje SQL Server nombre de idioma (opcional). SQL Server puede almacenar mensajes para varios idiomas en sysmessages. Si se conecta a un SQL Server con varios idiomas, Language especifica qué conjunto de mensajes se usan para la conexión.
MARS_Connection Habilita o deshabilita conjuntos de resultados activos múltiples (MARS) en la conexión. Los valores reconocidos son "yes" y "no". El valor predeterminado es "no".
MultiSubnetFailover Especifique siempre multiSubnetFailover=Sí al conectarse al agente de escucha del grupo de disponibilidad de un grupo de disponibilidad SQL Server o una instancia de clúster de conmutación por error de SQL Server. multiSubnetFailover=Sí configura SQL Server Native Client para proporcionar una detección y conexión más rápidas al servidor activo (actualmente). Los valores posibles son Yes y No. El valor predeterminado es No. Por ejemplo:

MultiSubnetFailover=Yes

Para obtener más información sobre la compatibilidad de SQL Server Native Client con grupos de disponibilidad de Always On, consulte SQL Server Native Client compatibilidad con alta disponibilidad y recuperación ante desastres.
Net Sinónimo de "Network".
Network Los valores válidos son dbnmpntw (canalizaciones con nombre) y dbmssocn (TCP/IP).

Es un error especificar un valor para la palabra clave Network y un prefijo de protocolo en la palabra clave Server .
PWD La contraseña de la cuenta de inicio de sesión de SQL Server especificada en el parámetro UID. No es necesario especificar PWD si el inicio de sesión tiene una contraseña NULL o cuando se usa la autenticación de Windows (Trusted_Connection = yes).
QueryLog_On Cuando es "yes", se habilita el registro de datos de consultas de ejecución prolongada en la conexión. Cuando es "no", no se registran los datos de consultas de ejecución prolongada.
QueryLogFile Ruta de acceso y nombre completos del archivo que va a utilizarse para registrar los datos en consultas de ejecución prolongada.
QueryLogTime Cadena de caracteres de dígitos que especifica el umbral (en milisegundos) para registrar consultas de ejecución prolongada. Cualquier consulta que no obtenga una respuesta en el intervalo de tiempo especificado se escribe en el archivo de registro de consultas de ejecución prolongada.
QuotedId Cuando "sí", QUOTED_IDENTIFIERS se establece ON para la conexión, SQL Server usa las reglas ISO con respecto al uso de comillas en instrucciones SQL. Si no es así, QUOTED_IDENTIFIERS se establece en OFF para la conexión. SQL Server luego sigue las reglas heredadas de Transact-SQL con respecto al uso de comillas en instrucciones SQL. Para obtener más información, vea Efectos de las opciones ISO.
Regional Cuando "sí", el controlador ODBC de SQL Server Native Client usa la configuración de cliente al convertir datos de moneda, fecha y hora en datos de caracteres. La conversión se realiza en un solo sentido; el controlador no reconoce los formatos estándar que no son ODBC para las cadenas de fecha o los valores de moneda incluidos; por ejemplo, un parámetro que se utiliza en una instrucción INSERT o UPDATE. Cuando es "no", el controlador utiliza cadenas estándar de ODBC para representar los datos de moneda, fecha y hora que se convierten en datos de caracteres.
SaveFile Nombre de un archivo de origen de datos ODBC donde se guardan los atributos de la conexión actual si la conexión se establece correctamente.
Servidor Nombre de una instancia de SQL Server. El valor debe ser el nombre de un servidor de la red, una dirección IP o el nombre de un alias del Administrador de configuración de SQL Server.

La palabra clave Address reemplaza a la palabra clave Server.

Puede conectarse a la instancia predeterminada en el servidor local especificando uno de los valores siguientes:

Server=;

Server=.;

Server=(local);

Server=(local);

Server=(localhost);

Server=(localdb)\nombreDeInstancia;

Para obtener más información sobre la compatibilidad con LocalDB, consulte SQL Server Native Client compatibilidad con LocalDB.

Para especificar una instancia con nombre de SQL Server, anexe \InstanceName.

Cuando no se especifica ningún servidor, se establece una conexión a la instancia predeterminada en el equipo local.

Si especifica una dirección IP, asegúrese de que los protocolos TCP/IP o de canalizaciones con nombre estén habilitados en el Administrador de configuración de SQL Server.

La sintaxis completa de la palabra clave Server es la siguiente:

Server= [protocol: ]Server[ ,port]

protocolo puede ser tcp (TCP/IP), lpc (memoria compartida) o np (canalizaciones con nombre).

A continuación se muestra un ejemplo de la especificación de una canalización con nombre:

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

Esta línea especifica el protocolo de canalización con nombre, una canalización con nombre en el equipo local (\\.\pipe), el nombre de la instancia de SQL Server (MSSQL$MYINST01) y el nombre predeterminado de la canalización con nombre (sql/query).

Si no se especifica ningún protocolo ni la palabra clave Network, SQL Server Native Client usará el orden de protocolo especificado en Administrador de configuración de SQL Server.

port es el puerto al que se va a conectar en el servidor especificado. De forma predeterminada, SQL Server usa el puerto 1433.

Los espacios se omiten al principio del valor pasado al servidor en cadenas de conexión ODBC al usar SQL Server Native Client.
ServerSPN SPN del servidor. El valor predeterminado es una cadena vacía. Una cadena vacía hace que SQL Server Native Client usen el SPN generado por el controlador predeterminado.
StatsLog_On Cuando "sí", habilita la captura de SQL Server Native Client datos de rendimiento del controlador ODBC. Si es "no", SQL Server Native Client datos de rendimiento del controlador ODBC no están disponibles en la conexión.
StatsLogFile Ruta de acceso completa y nombre de archivo de un archivo usado para registrar SQL Server Native Client estadísticas de rendimiento del controlador ODBC.
Trusted_Connection Cuando "sí", indica al controlador ODBC de SQL Server Native Client que use el modo de autenticación de Windows para la validación de inicio de sesión. De lo contrario, indica al controlador ODBC SQL Server Native Client que use un nombre de usuario y una contraseña de SQL Server para la validación de inicio de sesión, y se deben especificar las palabras clave UID y PWD.
TrustServerCertificate Cuando se usa con Encrypt, habilita el cifrado mediante un certificado de servidor autofirmado.
UID Una cuenta de inicio de sesión de SQL Server válida. No es necesario especificar un UID cuando se utiliza la autenticación de Windows.
UseProcForPrepare Esta palabra clave está en desuso y el controlador ODBC de SQL Server Native Client omite su configuración.
WSID Identificador de la estación de trabajo. Normalmente, se trata del nombre de red del equipo donde reside la aplicación (opcional). Si se especifica, este valor se almacena en el nombre de host de columna master.dbo.sysprocesses y lo devuelve sp_who y la función HOST_NAME.

Nota:

La configuración de conversión regional se aplica a los tipos de datos de moneda, numéricos, de fecha y de hora. La configuración de conversión solo es aplicable a la conversión de salida y solo es visible cuando los valores de moneda, numéricos, de fecha o de hora se convierten en cadenas de caracteres.

El controlador ODBC SQL Server Native Client usa la configuración regional del Registro para el usuario actual. El controlador no respeta la configuración regional del subproceso actual si la aplicación la establece después de la conexión, por ejemplo, llamando a SetThreadLocale.

Modificar el comportamiento regional de un origen de datos puede producir errores en la aplicación. Una aplicación que analiza cadenas de fecha y espera que las cadenas de fecha aparezcan tal y como se definen en ODBC podría verse afectada negativamente por la modificación de este valor.

Palabras clave de la cadena de conexión del proveedor OLE DB

Las aplicaciones OLE DB pueden inicializar los objetos de origen de datos de dos formas:

  • IDBInitialize::Initialize

  • IDataInitialize::GetDataSource

En el primer caso, se puede usar una cadena de proveedor para inicializar las propiedades de conexión estableciendo la propiedad DBPROP_INIT_PROVIDERSTRING en el conjunto de propiedades DBPROPSET_DBINIT. En el segundo caso, se puede pasar una cadena de inicialización al método IDataInitialize::GetDataSource para inicializar las propiedades de conexión. Ambos métodos inicializan las mismas propiedades de conexión OLE DB, pero se utilizan conjuntos diferentes de palabras clave. El conjunto de palabras clave usado por IDataInitialize::GetDataSource es, como mínimo, la descripción de propiedades del grupo de propiedades de inicialización.

En cualquier configuración de cadena de proveedor que tenga una propiedad OLE DB correspondiente establecida en algún valor predeterminado o establecida explícitamente en un valor, el valor de la propiedad OLE DB invalidará la configuración de la cadena de proveedor.

Las propiedades booleanas establecidas en las cadenas de proveedor a través de los valores DBPROP_INIT_PROVIDERSTRING se establecen utilizando los valores "yes" y "no". Las propiedades booleanas establecidas en las cadenas de inicialización mediante IDataInitialize::GetDataSource se establecen con los valores "true" y "false".

Las aplicaciones que usan IDataInitialize::GetDataSource también pueden usar las palabras clave usadas por IDBInitialize::Initialize , pero solo para las propiedades que no tienen un valor predeterminado. Si una aplicación usa tanto la palabra clave IDataInitialize::GetDataSource como la palabra clave IDBInitialize::Initialize en la cadena de inicialización, se usa el valor de palabra clave IDataInitialize::GetDataSource. Se recomienda encarecidamente que las aplicaciones no usen palabras clave IDBInitialize::Initialize en cadenas de conexión IDataInitialize:GetDataSource, puesto que es posible que este comportamiento no se mantenga en futuras versiones.

Nota:

Una cadena de conexión pasada a través de IDataInitialize::GetDataSource se convierte en propiedades y se aplica por medio de IDBProperties::SetProperties. Si los servicios del componente encuentran la descripción de propiedad en IDBProperties::GetPropertyInfo, esta propiedad se aplica como propiedad independiente. De lo contrario, se aplicará a través de la propiedad DBPROP_PROVIDERSTRING. Por ejemplo, si especifica la cadena de conexión Data Source=server1;Server=server2, Data Source se establecerá como propiedad, pero Server irá a una cadena de proveedor.

Si especifica varias instancias de la misma propiedad específica del proveedor, se utilizará el primer valor de la primera propiedad.

Las cadenas de conexión usadas por las aplicaciones OLE DB que emplean DBPROP_INIT_PROVIDERSTRING con IDBInitialize::Initialize tienen la siguiente sintaxis:

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

empty-string ::=

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

attribute-value ::= character-string

attribute-keyword ::= identifier

Los valores de atributo pueden incluirse opcionalmente entre llaves y es una práctica recomendable. Esto evita que se produzcan problemas cuando los valores de atributo contienen caracteres no alfanuméricos. Se supone que la primera llave de cierre del valor termina el valor, de modo que los valores no pueden contener caracteres de llave de cierre.

Un carácter de espacio después del signo = de una palabra clave de cadena de conexión se interpreta como un literal, aun cuando el valor esté entre comillas.

En la tabla siguiente se describen las palabras clave que pueden utilizarse con DBPROP_INIT_PROVIDERSTRING.

Palabra clave Propiedad de inicialización Descripción
Addr SSPROP_INIT_NETWORKADDRESS Sinónimo de "Address".
Dirección SSPROP_INIT_NETWORKADDRESS Dirección de red de una instancia de SQL Server en la organización.

Para obtener más información sobre la sintaxis de dirección válida, vea la descripción de la palabra clave ODBC address , más adelante en este tema.
APP SSPROP_INIT_APPNAME Cadena que identifica la aplicación.
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT Declara el tipo de carga de trabajo de la aplicación al conectarse a un servidor. Los valores posibles son ReadOnly y ReadWrite.

El valor predeterminado es ReadWrite. Para obtener más información sobre la compatibilidad de SQL Server Native Client con grupos de disponibilidad de Always On, consulte SQL Server Native Client compatibilidad con alta disponibilidad y recuperación ante desastres.
AttachDBFileName SSPROP_INIT_FILENAME Nombre del archivo principal (incluido el nombre de la ruta de acceso completa) de una base de datos adjuntable. Para usar AttachDBFileName, debe especificar también el nombre de la base de datos con la palabra clave Database de la cadena del proveedor. Si la base de datos se ha adjuntado previamente, SQL Server no vuelve a adjuntarla (utiliza la base de datos adjuntada como valor predeterminado para la conexión).
Auto Translate SSPROP_INIT_AUTOTRANSLATE Sinónimo de "AutoTranslate".
AutoTranslate SSPROP_INIT_AUTOTRANSLATE Configura la traducción de caracteres OEM/ANSI. Los valores reconocidos son "yes" y "no".
Base de datos DBPROP_INIT_CATALOG Nombre de la base de datos.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Especifica el modo de administración de tipos de datos que debe utilizarse. Los valores reconocidos son "0" para los tipos de datos del proveedor y "80" para los tipos de datos de SQL Server 2000.
Encrypt SSPROP_INIT_ENCRYPT Especifica si los datos deben cifrarse antes de enviarse a través de la red. Los valores posibles son "yes" y "no". El valor predeterminado es "no".
FailoverPartner SSPROP_INIT_FAILOVERPARTNER Nombre del servidor de conmutación por error utilizado para la creación de reflejo de la base de datos.
FailoverPartnerSPN SSPROP_INIT_FAILOVERPARTNERSPN SPN del asociado de conmutación por error. El valor predeterminado es una cadena vacía. Una cadena vacía hace que SQL Server Native Client usen el SPN generado por el proveedor predeterminado.
Idioma SSPROP_INIT_CURRENTLANGUAGE Lenguaje SQL Server.
MarsConn SSPROP_INIT_MARSCONNECTION Habilita o deshabilita conjuntos de resultados activos múltiples (MARS) en la conexión si el servidor es SQL Server 2005 (9.x) o posterior. Los valores posibles son "yes" y "no". El valor predeterminado es "no".
Net SSPROP_INIT_NETWORKLIBRARY Sinónimo de "Network".
Network SSPROP_INIT_NETWORKLIBRARY Biblioteca de red que se utiliza para establecer una conexión a una instancia de SQL Server en la organización.
Network Library SSPROP_INIT_NETWORKLIBRARY Sinónimo de "Network".
PacketSize SSPROP_INIT_PACKETSIZE Tamaño del paquete de red El valor predeterminado es 4096.
PersistSensitive DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Acepta las cadenas "yes" y "no" como valores. Cuando es "no", no se permite que el objeto de origen de datos conserve ninguna información confidencial de autenticación.
PWD DBPROP_AUTH_PASSWORD Contraseña de inicio de sesión de SQL Server.
Server DBPROP_INIT_DATASOURCE Nombre de una instancia de SQL Server en la organización.

Si no se especifica, se establece una conexión a la instancia predeterminada en el equipo local.

Para obtener más información sobre la sintaxis de dirección válida, vea la descripción de la palabra clave ODBC del servidor , en este tema.
ServerSPN SSPROP_INIT_SERVERSPN SPN del servidor. El valor predeterminado es una cadena vacía. Una cadena vacía hace que SQL Server Native Client usen el SPN generado por el proveedor predeterminado.
Tiempo de espera DBPROP_INIT_TIMEOUT Cantidad de tiempo (en segundos) que hay que esperar a que se complete la inicialización del origen de datos.
Trusted_Connection DBPROP_AUTH_INTEGRATED Cuando "sí", indica al proveedor OLE DB SQL Server Native Client que use el modo de autenticación de Windows para la validación de inicio de sesión. De lo contrario, indica al proveedor OLE DB SQL Server Native Client que use un nombre de usuario y una contraseña de SQL Server para la validación de inicio de sesión, y se deben especificar las palabras clave UID y PWD.
TrustServerCertificate SSPROP_INIT_TRUST_SERVER_CERTIFICATE Acepta las cadenas "yes" y "no" como valores. El valor predeterminado es "no", que significa que se validará el certificado del servidor.
UID DBPROP_AUTH_USERID Nombre de inicio de sesión de SQL Server.
UseProcForPrepare SSPROP_INIT_USEPROCFORPREP Esta palabra clave está en desuso y el SQL Server Native Client proveedor OLE DB omite su configuración.
WSID SSPROP_INIT_WSID Identificador de la estación de trabajo.

Las cadenas de conexión empleadas por las aplicaciones OLE DB que usan IDataInitialize::GetDataSource tienen la siguiente sintaxis:

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 ::= " | '

El uso de la propiedad debe cumplir la sintaxis permitida en su ámbito. Por ejemplo, WSID usa llaves ( {} ) para los caracteres de comillas y Application Name usa caracteres de comillas simples ( ' ) o dobles ( " ). Solo se pueden entrecomillar las propiedades de cadena. Si se intenta entrecomillar un entero o la propiedad enumerada, se producirá un error que indica que la cadena de conexión no cumple la especificación OLE DB.

Los valores de atributo pueden incluirse opcionalmente entre comillas simples o dobles, y es una práctica recomendada. Esto evita que se produzcan problemas cuando los valores contienen caracteres no alfanuméricos. El carácter de comillas que se utilice también puede aparecer en los valores, siempre y cuando aparezca duplicado.

Un carácter de espacio después del signo = de una palabra clave de cadena de conexión se interpreta como un literal, aun cuando el valor esté entre comillas.

Si una cadena de conexión tiene más de una de las propiedades enumeradas en la tabla siguiente, se utilizará el valor de la última propiedad.

En la tabla siguiente se describen las palabras clave que pueden usarse con IDataInitialize::GetDataSource:

Palabra clave Propiedad de inicialización Descripción
Nombre de la aplicación SSPROP_INIT_APPNAME Cadena que identifica la aplicación.
Application Intent SSPROP_INIT_APPLICATIONINTENT Sinónimo de "ApplicationIntent".
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT Declara el tipo de carga de trabajo de la aplicación al conectarse a un servidor. Los valores posibles son ReadOnly y ReadWrite.

El valor predeterminado es ReadWrite. Para obtener más información sobre la compatibilidad de SQL Server Native Client con grupos de disponibilidad de Always On, consulte SQL Server Native Client compatibilidad con alta disponibilidad y recuperación ante desastres.
Auto Translate SSPROP_INIT_AUTOTRANSLATE Sinónimo de "AutoTranslate".
AutoTranslate SSPROP_INIT_AUTOTRANSLATE Configura la traducción de caracteres OEM/ANSI. Los valores reconocidos son "true" y "false".
Connect Timeout DBPROP_INIT_TIMEOUT Cantidad de tiempo (en segundos) que hay que esperar a que se complete la inicialización del origen de datos.
Current Language SSPROP_INIT_CURRENTLANGUAGE Nombre del lenguaje SQL Server.
Data Source (Origen de datos) DBPROP_INIT_DATASOURCE Nombre de una instancia de SQL Server en la organización.

Si no se especifica, se establece una conexión a la instancia predeterminada en el equipo local.

Para obtener más información sobre la sintaxis de dirección válida, vea la descripción de la palabra clave ODBC del servidor , más adelante en este tema.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Especifica el modo de administración de tipos de datos que debe utilizarse. Los valores reconocidos son "0" para los tipos de datos del proveedor y "80" para los tipos de datos de SQL Server 2000 (8.x).
Failover Partner SSPROP_INIT_FAILOVERPARTNER Nombre del servidor de conmutación por error utilizado para la creación de reflejo de la base de datos.
Failover Partner SPN SSPROP_INIT_FAILOVERPARTNERSPN SPN del asociado de conmutación por error. El valor predeterminado es una cadena vacía. Una cadena vacía hace que SQL Server Native Client usen el SPN generado por el proveedor predeterminado.
Catálogo original DBPROP_INIT_CATALOG Nombre de la base de datos.
Nombre de archivo inicial SSPROP_INIT_FILENAME Nombre del archivo principal (incluido el nombre de la ruta de acceso completa) de una base de datos adjuntable. Para usar AttachDBFileName, debe especificar también el nombre de la base de datos con la palabra clave DATABASE de la cadena del proveedor. Si la base de datos se ha adjuntado previamente, SQL Server no vuelve a adjuntarla (utiliza la base de datos adjuntada como valor predeterminado para la conexión).
Seguridad integrada DBPROP_AUTH_INTEGRATED Acepta el valor "SSPI" para la autenticación de Windows.
MARS Connection SSPROP_INIT_MARSCONNECTION Habilita o deshabilita conjuntos de resultados activos múltiples (MARS) en la conexión. Los valores reconocidos son "true" y "false". El valor predeterminado es "false".
Network Address SSPROP_INIT_NETWORKADDRESS Dirección de red de una instancia de SQL Server en la organización.

Para obtener más información sobre la sintaxis de dirección válida, vea la descripción de la palabra clave ODBC address , más adelante en este tema.
Network Library SSPROP_INIT_NETWORKLIBRARY Biblioteca de red que se utiliza para establecer una conexión a una instancia de SQL Server en la organización.
Packet Size SSPROP_INIT_PACKETSIZE Tamaño del paquete de red El valor predeterminado es 4096.
Contraseña DBPROP_AUTH_PASSWORD Contraseña de inicio de sesión de SQL Server.
Persist Security Info DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Acepta las cadenas "true" y "false" como valores. Cuando es "false", no se permite que el objeto de origen de datos almacene información confidencial de autenticación
Proveedor Para SQL Server Native Client, debe ser "SQLNCLI11".
Server SPN SSPROP_INIT_SERVERSPN SPN del servidor. El valor predeterminado es una cadena vacía. Una cadena vacía hace que SQL Server Native Client usen el SPN generado por el proveedor predeterminado.
TrustServerCertificate SSPROP_INIT_TRUST_SERVER_CERTIFICATE Acepta las cadenas "true" y "false" como valores. El valor predeterminado es "false", que significa que se validará el certificado del servidor.
Utilizar cifrado para los datos SSPROP_INIT_ENCRYPT Especifica si los datos deben cifrarse antes de enviarse a través de la red. Los valores posibles son "true" y "false". El valor predeterminado es "false".
Id. de usuario DBPROP_AUTH_USERID Nombre de inicio de sesión de SQL Server.
Workstation ID SSPROP_INIT_WSID Identificador de la estación de trabajo.

Nota En la cadena de conexión, la propiedad "Old Password" establece SSPROP_AUTH_OLD_PASSWORD, que es la contraseña actual (posiblemente expirada) que no está disponible a través de una propiedad de cadena del proveedor.

Palabras clave de la cadena de conexión Objetos de datos ActiveX (ADO)

Las aplicaciones ADO establecen la propiedad ConnectionString de los objetos ADODBConnection o proporcionan una cadena de conexión como parámetro al método Open de los objetos ADODBConnection.

Las aplicaciones ADO también pueden usar las palabras clave que emplea el método IDBInitialize::Initialize de OLE DB, pero solo para las propiedades que no tienen un valor predeterminado. Si una aplicación usa tanto palabras clave de ADO como palabras clave IDBInitialize::Initialize en la cadena de inicialización, se usa el valor de palabra clave de ADO. Se recomienda encarecidamente que las aplicaciones utilicen solamente palabras clave de cadena de conexión ADO.

Las cadenas de conexión utilizadas por ADO presentan la sintaxis siguiente:

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

empty-string ::=

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

attribute-value ::= character-string

attribute-keyword ::= identifier

Los valores de atributo pueden incluirse opcionalmente entre comillas dobles y es una práctica recomendable. Esto evita que se produzcan problemas cuando los valores contienen caracteres no alfanuméricos. Los valores de atributo no pueden incluir comillas dobles.

En la tabla siguiente se describen las palabras clave que pueden utilizarse con una cadena de conexión ADO.

Palabra clave Propiedad de inicialización Descripción
Application Intent SSPROP_INIT_APPLICATIONINTENT Sinónimo de "ApplicationIntent".
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT Declara el tipo de carga de trabajo de la aplicación al conectarse a un servidor. Los valores posibles son ReadOnly y ReadWrite.

El valor predeterminado es ReadWrite. Para obtener más información sobre la compatibilidad de SQL Server Native Client con grupos de disponibilidad de Always On, consulte SQL Server Native Client compatibilidad con alta disponibilidad y recuperación ante desastres.
Nombre de la aplicación SSPROP_INIT_APPNAME Cadena que identifica la aplicación.
Auto Translate SSPROP_INIT_AUTOTRANSLATE Sinónimo de "AutoTranslate".
AutoTranslate SSPROP_INIT_AUTOTRANSLATE Configura la traducción de caracteres OEM/ANSI. Los valores reconocidos son "true" y "false".
Connect Timeout DBPROP_INIT_TIMEOUT Cantidad de tiempo (en segundos) que hay que esperar a que se complete la inicialización del origen de datos.
Current Language SSPROP_INIT_CURRENTLANGUAGE Nombre del lenguaje SQL Server.
Data Source (Origen de datos) DBPROP_INIT_DATASOURCE Nombre de una instancia de SQL Server en la organización.

Si no se especifica, se establece una conexión a la instancia predeterminada en el equipo local.

Para obtener más información sobre la sintaxis de dirección válida, vea la descripción de la palabra clave ODBC del servidor , en este tema.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Especifica el modo de administración de tipos de datos que se utilizará. Los valores reconocidos son "0" para los tipos de datos del proveedor y "80" para los tipos de datos de SQL Server 2000.
Failover Partner SSPROP_INIT_FAILOVERPARTNER Nombre del servidor de conmutación por error utilizado para la creación de reflejo de la base de datos.
Failover Partner SPN SSPROP_INIT_FAILOVERPARTNERSPN SPN del asociado de conmutación por error. El valor predeterminado es una cadena vacía. Una cadena vacía hace que SQL Server Native Client usen el SPN generado por el proveedor predeterminado.
Catálogo original DBPROP_INIT_CATALOG Nombre de la base de datos.
Nombre de archivo inicial SSPROP_INIT_FILENAME Nombre del archivo principal (incluido el nombre de la ruta de acceso completa) de una base de datos adjuntable. Para usar AttachDBFileName, debe especificar también el nombre de la base de datos con la palabra clave DATABASE de la cadena del proveedor. Si la base de datos se ha adjuntado previamente, SQL Server no vuelve a adjuntarla (utiliza la base de datos adjuntada como valor predeterminado para la conexión).
Seguridad integrada DBPROP_AUTH_INTEGRATED Acepta el valor "SSPI" para la autenticación de Windows.
MARS Connection SSPROP_INIT_MARSCONNECTION Habilita o deshabilita conjuntos de resultados activos múltiples (MARS) en la conexión si el servidor es SQL Server 2005 (9.x) o posterior. Los valores reconocidos son "true" y "false". El valor predeterminado es "false".
Network Address SSPROP_INIT_NETWORKADDRESS Dirección de red de una instancia de SQL Server en la organización.

Para obtener más información sobre la sintaxis de dirección válida, vea la descripción de la palabra clave ODBC address , en este tema.
Network Library SSPROP_INIT_NETWORKLIBRARY Biblioteca de red que se utiliza para establecer una conexión a una instancia de SQL Server en la organización.
Packet Size SSPROP_INIT_PACKETSIZE Tamaño del paquete de red El valor predeterminado es 4096.
Contraseña DBPROP_AUTH_PASSWORD Contraseña de inicio de sesión de SQL Server.
Persist Security Info DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Acepta las cadenas "true" y "false" como valores. Cuando es "false", no se permite que el objeto de origen de datos conserve ninguna información confidencial de autenticación.
Proveedor Para SQL Server Native Client, debe ser "SQLNCLI11".
Server SPN SSPROP_INIT_SERVERSPN SPN del servidor. El valor predeterminado es una cadena vacía. Una cadena vacía hace que SQL Server Native Client usen el SPN generado por el proveedor predeterminado.
TrustServerCertificate SSPROP_INIT_TRUST_SERVER_CERTIFICATE Acepta las cadenas "true" y "false" como valores. El valor predeterminado es "false", que significa que se validará el certificado del servidor.
Utilizar cifrado para los datos SSPROP_INIT_ENCRYPT Especifica si los datos deben cifrarse antes de enviarse a través de la red. Los valores posibles son "true" y "false". El valor predeterminado es "false".
Id. de usuario DBPROP_AUTH_USERID Nombre de inicio de sesión de SQL Server.
Workstation ID SSPROP_INIT_WSID Identificador de la estación de trabajo.

Nota En la cadena de conexión, la propiedad "Old Password" establece SSPROP_AUTH_OLD_PASSWORD, que es la contraseña actual (posiblemente expirada) que no está disponible a través de una propiedad de cadena del proveedor.

Consulte también

Generar aplicaciones con SQL Server Native Client