Compartir a través de


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

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Importante

SQL Server Native Client (SNAC) no se incluye con:

  • SQL Server 2022 (16.x) y versiones posteriores
  • SQL Server Management Studio 19 y versiones posteriores

Sql Server Native Client (SQLNCLI o SQLNCLI11) y el proveedor MICROSOFT OLE DB heredado para SQL Server (SQLOLEDB) no se recomiendan para el desarrollo de aplicaciones nuevas.

En el caso de los proyectos nuevos, use uno de los siguientes controladores:

Para SQLNCLI que se incluye como componente de motor de base de datos de SQL Server (versiones 2012 a 2019), consulte esta excepción de ciclo de vida de soporte técnico.

Algunas API de SQL Server Native Client usan cadena 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, vea Uso de palabras clave de cadena de conexión con OLE DB Driver for SQL Server.

Nota:

SQL Server Native Client permite la ambigüedad en cadena de conexión mantener la compatibilidad con versiones anteriores (por ejemplo, algunas palabras clave pueden especificarse 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). Se recomienda modificar las aplicaciones para que usen SQL Server Native Client para eliminar cualquier dependencia de cadena de conexión ambigüedad.

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 de 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 cadena 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 odbc cadena de conexión 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.sysprocesses program_name y se devuelve mediante sp_who y las funciones 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 AlwaysOn, consulte Compatibilidad de SQL Server Native Client 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 una variable de texto, parámetros o variables de texto de SQL Server, parámetros o columnas se convierten de carácter a Unicode mediante la página de códigos ANSI del cliente (ACP) y, a continuación, se convierten de Unicode a carácter mediante el ACP del servidor.

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

Estas conversiones se realizan en el cliente mediante el controlador ODBC de SQL Server Native Client. 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 de SQL_C_WCHAR Unicode en el cliente.

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

* Datos del 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 los datos enviados a variables char, varchar o text , 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 SQL Server usan diferentes ACL, es posible que se malinterpreten los caracteres extendidos.
Base de datos Nombre de la base de datos predeterminada de SQL Server 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 Usar los archivos de biblioteca y encabezados 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.
Alternativa Esta palabra clave está en desuso y el controlador ODBC de SQL Server Native Client 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 use el SPN generado por el controlador predeterminado.
FileDSN Nombre de origen de datos de un archivo ODBC existente.
Lenguaje Nombre de lenguaje de SQL Server (opcional). SQL Server puede almacenar mensajes para varios lenguajes en sysmessages. Si se conecta a un servidor SQL Server con varios lenguajes, 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 de 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 AlwaysOn, consulte Compatibilidad de SQL Server Native Client 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 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_IDENTIFIER se establece ON para la conexión, SQL Server usa las reglas ISO con respecto al uso de comillas en instrucciones SQL. Cuando no, QUOTED_IDENTIFIER se establece OFF para la conexión. A continuación, SQL Server 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.
Server 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)\ instancename ;

Para obtener más información sobre la compatibilidad con LocalDB, consulte Compatibilidad con SQL Server Native Client para 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 que se pasa al servidor en odbc cadena de conexión cuando se usa 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 use el SPN generado por el controlador predeterminado.
StatsLog_On Cuando "sí", habilita la captura de datos de rendimiento del controlador ODBC de SQL Server Native Client. Cuando es "no", los datos de rendimiento del controlador ODBC de SQL Server Native Client no están disponibles en la conexión.
StatsLogFile Ruta de acceso completa y nombre de archivo de un archivo usado para registrar estadísticas de rendimiento del controlador ODBC de SQL Server Native Client.
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 de 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 se devuelve mediante 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 de 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 empleadas 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 AlwaysOn, consulte Compatibilidad de SQL Server Native Client 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 adjuntó anteriormente, SQL Server no vuelve a adjuntarla (usa la base de datos adjunta 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 use el SPN generado por el proveedor predeterminado.
Lenguaje 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 direcciones válidas, 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 use 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 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 proveedor OLE DB de 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 proveedor OLE DB de SQL Server Native Client 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 AlwaysOn, consulte Compatibilidad de SQL Server Native Client 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 use 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 adjuntó anteriormente, SQL Server no vuelve a adjuntarla (usa la base de datos adjunta 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 use el SPN generado por el proveedor predeterminado.
Certificado de servidor de confianza 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.
Use Encryption for Data 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 "falso".
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 AlwaysOn, consulte Compatibilidad de SQL Server Native Client 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 direcciones válidas, 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 use 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 adjuntó anteriormente, SQL Server no vuelve a adjuntarla (usa la base de datos adjunta 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 use el SPN generado por el proveedor predeterminado.
Certificado de servidor de confianza 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.
Use Encryption for Data 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 "falso".
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 "Contraseña anterior" 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