Usar palabras clave de cadena de conexión con SQL Server Native Client
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.
[!NOTA]
SQL Server Native Client permite la ambigüedad en las cadenas de conexión para mantener la compatibilidad con versiones anteriores (por ejemplo, algunas palabras clave pueden especificarse más de una vez y pueden permitirse palabras clave en conflicto cuya resolución se base en la posición o en la prioridad). En futuras versiones de SQL Server Native Client no se permitirá la ambigüedad en las cadenas de conexión. Es recomendable modificar las aplicaciones a fin de usar SQL Server Native Client para eliminar cualquier dependencia de ambigüedad en las cadenas de conexión.
En las siguientes secciones se describen las palabras clave que pueden utilizarse 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) cuando se utiliza SQL Server Native Client como proveedor de datos.
Palabras clave de la cadena de conexión del controlador ODBC
Las aplicaciones ODBC utilizan las 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 lo termina 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". |
Address |
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 que se pasa a Server en las cadenas de conexión ODBC cuando se utiliza SQL Server Native Client. Tenga también en cuenta que Address=; se conectará al servidor especificado en la palabra clave Server, mientras que Address= ;, Address=.;, Address=localhost; y Address=(local); establecerán una conexión al servidor local. La sintaxis completa de la palabra clave Address es la siguiente: [protocol:]Address[,port |\pipe\pipename] protocol puede ser tcp (TCP/IP), lpc (memoria compartida) o np (canalizaciones con nombre). Para obtener más información acerca de los protocolos, vea Configurar protocolos de cliente. Si no se especifica la palabra clave protocol ni Network, SQL Server Native Client usará el orden de protocolos especificado en el Administrador de configuración de SQL Server. port es el puerto al que conectarse 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 acerca de los comportamientos NPW de ANSI, 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 program_name de master.dbo.sysprocesses 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. Por ejemplo:
El valor predeterminado es ReadWrite. Para obtener más información acerca de la compatibilidad de SQL Server Native Client con Grupos de disponibilidad AlwaysOn, vea Compatibilidad de SQL Server Native Client para la alta disponibilidad con recuperación de 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 debe especificar también el nombre de la base de datos en el parámetro DATABASE de SQLDriverConnect o en el atributo de conexión SQL_COPT_CURRENT_CATALOG. 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. |
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. Los datos SQL_C_CHAR del cliente enviados a una variable, parámetro o columna char, varchar o text de SQL Server se convierten de carácter a Unicode mediante la página de códigos ANSI (ACP) del cliente y, después, se convierten de Unicode a carácter mediante la ACP del servidor. Los datos char, varchar o text de SQL Server enviados a una variable SQL_C_CHAR del cliente se convierten de carácter a Unicode mediante la ACP del servidor y, después, se convierten de Unicode a carácter mediante la ACP del cliente. El controlador ODBC de 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:
Cuando es "no", no se realiza la traducción de caracteres. El controlador ODBC de SQL Server Native Client no traduce los datos SQL_C_CHAR de caracteres ANSI del cliente enviados a variables, parámetros o columnas char, varchar o text en el servidor. No se realiza ninguna traducción en los datos char, varchar o text enviados del servidor a las variables SQL_C_CHAR en el cliente. Si el cliente y SQL Server están utilizando distintas ACP, pueden malinterpretarse los caracteres extendidos. |
Database |
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 señala se adjunta y se le asigna el nombre de base de datos especificado por Database. |
Driver |
Nombre del controlador tal y como lo devuelve SQLDrivers. El valor de palabra clave para el controlador ODBC de SQL Server Native Client es "{SQL Server Native Client 11.0}". Se requiere la palabra clave Server si se especifica Driver y DriverCompletion se establece en SQL_DRIVER_NOPROMPT. Para obtener más información sobre los nombres de controlador, vea Utilizar los archivos de encabezado y de biblioteca de SQL Server Native Client. |
DSN |
Nombre de un usuario de ODBC u origen de datos del sistema existente. Esta palabra clave invalida cualquier valor que pueda haberse especificado 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 "yes" y "no". El valor predeterminado es "no". |
Fallback |
Esta palabra clave está desusada y el controlador OLE DB de SQL Server Native Client omite su valor. |
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 utilice el SPN predeterminado generado por el controlador. |
FileDSN |
Nombre de origen de datos de un archivo ODBC existente. |
Language |
Nombre de idioma de SQL Server (opcional). SQL Server puede almacenar mensajes para varios lenguajes en sysmessages. Si se conecta a SQL Server con varios lenguajes, Language especifica qué conjunto de mensajes se utilizan 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=Yes al conectarse a una escucha de un grupo de disponibilidad de SQL Server 2012 o a una instancia del clúster de conmutación por error de SQL Server 2012. multiSubnetFailover=Yes configura SQL Server Native Client para proporcionar una detección más rápida del servidor (actualmente) activo y una conexión a él. Los valores posibles son Yes y No. Por ejemplo:
El valor predeterminado es No. Para obtener más información acerca de la compatibilidad de SQL Server Native Client con Grupos de disponibilidad AlwaysOn, vea Compatibilidad de SQL Server Native Client para la alta disponibilidad con recuperación de desastres. |
Net |
Sinónimo de "Network". |
Network |
Los valores válidos son dbnmpntw (canalizaciones con nombre) y dbmssocn (TCP/IP). Es un error especificar tanto un valor para la palabra clave Network como un prefijo de protocolo en la palabra clave Server. |
PWD |
La contraseña para la cuenta de inicio de sesión de SQL Server que se haya especificado en el parámetro UID. No es necesario especificar una PWD si el inicio de sesión cuenta con una contraseña con valor NULL o cuando se utiliza 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 es "yes", QUOTED_IDENTIFIERS se establece en 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 sigue las reglas Transact-SQL heredadas con respecto al uso de comillas en instrucciones SQL. Para obtener más información, vea Efectos de las opciones ISO. |
Regional |
Cuando es "yes", el controlador ODBC de SQL Server usa la configuración del cliente para realizar conversiones de datos de moneda, fecha y hora a datos de carácter. 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 carácter. |
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 invalida la palabra clave Server. Puede conectarse a la instancia predeterminada en el servidor local especificando uno de los valores siguientes:
Para obtener más información acerca de la compatibilidad con LocalDB, vea Compatibilidad de SQL Server Native Client con LocalDB. Para especificar una instancia con nombre de SQL Server, agregue \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] protocol 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:
Esta línea especifica un 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 la palabra clave protocol ni Network, SQL Server Native Client usará el orden de protocolos especificado en el Administrador de configuración de SQL Server. port es el puerto al que conectarse en el servidor especificado. De forma predeterminada, SQL Server usa el puerto 1433. Se omiten los espacios al principio del valor pasado a Server en las cadenas de conexión ODBC cuando se utiliza 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 utilice el SPN predeterminado generado por el controlador. |
StatsLog_On |
Cuando es "yes", habilita la captura de los 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 y nombre completos del archivo utilizado para registrar las estadísticas de rendimiento del controlador ODBC de SQL Server Native Client. |
Trusted_Connection |
Cuando es "yes", indica al controlador ODBC de SQL Server Native Client que utilice el modo de autenticación de Windows para la validación del inicio de sesión. De lo contrario, indica al controlador ODBC de SQL Server Native Client que utilice un nombre de usuario y una contraseña de SQL Server para la validación del inicio de sesión, y deben especificarse las palabras clave PWD y UID. |
TrustServerCertificate |
Cuando se utiliza con Encrypt, habilita el cifrado mediante un certificado de servidor autofirmado. |
UID |
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á desusada y el controlador OLE DB de SQL Server Native Client omite su valor. |
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 la columna hostname de 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 utiliza los valores del Registro de configuración regional del usuario actual. El controlador no respeta la configuración regional del subproceso actual si la aplicación la establece tras la conexión, por ejemplo, mediante una llamada 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 utilizado por IDataInitialize::GetDataSource es, como mínimo, la descripción de las propiedades dentro 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 utilizando los valores "true" y "false".
Las aplicaciones que utilizan IDataInitialize::GetDataSource también pueden usar las palabras clave utilizadas por IDBInitialize::Initialize, pero solo para las propiedades que no tienen un valor predeterminado. Si una aplicación utiliza tanto la palabra clave IDataInitialize::GetDataSource como la palabra clave IDBInitialize::Initialize en la cadena de inicialización, se utiliza el valor de palabra clave IDataInitialize::GetDataSource. Se recomienda encarecidamente que las aplicaciones no utilicen las palabras clave IDBInitialize::Initialize en las 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 que se pasa a través de IDataInitialize::GetDataSource se convierte en propiedades y se aplica por medio de IDBProperties::SetProperties. Si los servicios de componente encuentran la descripción de propiedad en IDBProperties::GetPropertyInfo, esta propiedad se aplicará como una 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 una propiedad, pero Server entrará en la cadena de un 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 que las aplicaciones OLE DB usan con 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 igual (=) de una palabra clave de cadena de conexión se interpretará 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". |
Address |
SSPROP_INIT_NETWORKADDRESS |
Dirección de red de una instancia de SQL Server en la organización. Para obtener más información acerca de la sintaxis válida para las direcciones, vea la descripción de la palabra clave Address de ODBC 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 acerca de la compatibilidad de SQL Server Native Client con Grupos de disponibilidad AlwaysOn, vea Compatibilidad de SQL Server Native Client para la alta disponibilidad con recuperación de 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". |
Database |
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 utilice el SPN predeterminado generado por el proveedor. |
Language |
SSPROPT_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 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 acerca de la sintaxis válida para las direcciones, vea la descripción de la palabra clave Server de ODBC 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 utilice el SPN predeterminado generado por el proveedor. |
Timeout |
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 es "yes", indica al proveedor OLE DB de SQL Server Native Client que utilice el modo de autenticación de Windows para la validación del inicio de sesión. De lo contrario, indica al proveedor OLE DB de SQL Server Native Client que utilice un nombre de usuario y una contraseña de SQL Server para la validación del inicio de sesión, y deben especificarse las palabras clave PWD y UID. |
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á desusada y el proveedor OLE DB de SQL Server Native Client omite su valor. |
WSID |
SSPROP_INIT_WSID |
Identificador de la estación de trabajo. |
Las cadenas de conexión que las aplicaciones OLE DB usan con 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 igual (=) de una palabra clave de cadena de conexión se interpretará 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 utilizarse con IDataInitialize::GetDataSource:
Palabra clave |
Propiedad de inicialización |
Descripción |
---|---|---|
Application Name |
SSPROP_INIT_APPNAME |
Cadena que identifica la aplicación. |
Application Intent |
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 acerca de la compatibilidad de SQL Server Native Client con Grupos de disponibilidad AlwaysOn, vea Compatibilidad de SQL Server Native Client para la alta disponibilidad con recuperación de 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 |
SSPROPT_INIT_CURRENTLANGUAGE |
Nombre del lenguaje SQL Server. |
Data Source |
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 acerca de la sintaxis válida para las direcciones, vea la descripción de la palabra clave Server de ODBC 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. |
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 utilice el SPN predeterminado generado por el proveedor. |
Initial Catalog |
DBPROP_INIT_CATALOG |
Nombre de la base de datos. |
Initial File Name |
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). |
Integrated Security |
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 acerca de la sintaxis válida para las direcciones, vea la descripción de la palabra clave Address de ODBC 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. |
Password |
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. |
Provider |
|
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 utilice el SPN predeterminado generado por el proveedor. |
Trust Server Certificate |
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 "false". |
User ID |
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.
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 utilizar las palabras clave que utiliza el método IDBInitialize::Initialize de OLE DB, pero solo para las propiedades que no tienen un valor predeterminado. Si una aplicación utiliza tanto palabras clave de ADO como palabras clave de IDBInitialize::Initialize en la cadena de inicialización, se utilizará 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 |
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 acerca de la compatibilidad de SQL Server Native Client con Grupos de disponibilidad AlwaysOn, vea Compatibilidad de SQL Server Native Client para la alta disponibilidad con recuperación de desastres. |
Application Name |
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 |
SSPROPT_INIT_CURRENTLANGUAGE |
Nombre del lenguaje SQL Server. |
Data Source |
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 acerca de la sintaxis válida para las direcciones, vea la descripción de la palabra clave Server de ODBC 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 utilice el SPN predeterminado generado por el proveedor. |
Initial Catalog |
DBPROP_INIT_CATALOG |
Nombre de la base de datos. |
Initial File Name |
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). |
Integrated Security |
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 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 acerca de la sintaxis válida para las direcciones, vea la descripción de la palabra clave Address de ODBC 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. |
Password |
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. |
Provider |
|
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 utilice el SPN predeterminado generado por el proveedor. |
Trust Server Certificate |
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 "false". |
User ID |
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.