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.