Compartir a través de


SQLDriverConnect

Se aplica a: SQL Server Azure SQL Database Azure SQL Instancia administrada Azure Synapse Analytics Analytics Platform System (PDW)

El controlador ODBC de SQL Server Native Client define atributos de conexión que reemplazan o mejoran las palabras clave de cadena de conexión. Varias palabras clave de cadena de conexión tienen valores predeterminados especificados por el controlador ODBC de SQL Server Native Client.

Para obtener una lista de las palabras clave disponibles en el controlador ODBC de SQL Server Native Client, vea Uso de palabras clave de cadena de conexión con SQL Server Native Client.

Para obtener más información sobre los atributos de conexión de SQL Server y los comportamientos predeterminados del controlador, vea SQLSetConnectAttr.

Para obtener una explicación de las palabras clave de cadena de conexión válidas para SQL Server Native Client, vea Uso de palabras clave de cadena de conexión con SQL Server Native Client.

Cuando el valor del parámetro DriverCompletion de SQLDriverConnectes SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE o SQL_DRIVER_COMPLETE_REQUIRED, el controlador ODBC de SQL Server Native Client recupera los valores de palabra clave del cuadro de diálogo mostrado. Si el valor de palabra clave se pasa en el cadena de conexión y el usuario no modifica el valor de la palabra clave en el cuadro de diálogo, el controlador ODBC de SQL Server Native Client usa el valor de la cadena de conexión. Si el valor no está establecido en la cadena de conexión y el usuario no realiza ninguna asignación en el cuadro de diálogo, el controlador utiliza el valor predeterminado.

SQLDriverConnect debe tener un valor WindowHandle válido cuando cualquier valor DriverCompletion requiera (o podría requerir) la presentación del cuadro de diálogo de conexión del controlador. Un identificador no válido devuelve SQL_ERROR.

Especifique las palabras clave DRIVER o DSN. Si se indican ambas, ODBC especifica que un controlador utiliza la palabra clave del extremo izquierdo y omite la otra. Si se especifica DRIVER o es el extremo izquierdo de los dos, y el valor del parámetro DriverCompletion de SQLDriverConnectes SQL_DRIVER_NOPROMPT, se requiere la palabra clave SERVER y un valor adecuado.

Cuando se especifica SQL_DRIVER_NOPROMPT, las palabras clave de autenticación de usuario deben estar presentes con valores. El controlador garantiza que la cadena "Trusted_Connection=yes" o que las palabras clave UID y PWD están presentes.

Si el valor del parámetro DriverCompletion es SQL_DRIVER_NOPROMPT o SQL_DRIVER_COMPLETE_REQUIRED y el idioma o la base de datos procede de la cadena de conexión y no es válido, SQLDriverConnect devuelve SQL_ERROR.

Si el valor del parámetro DriverCompletion es SQL_DRIVER_NOPROMPT o SQL_DRIVER_COMPLETE_REQUIRED y el idioma o la base de datos proceden de las definiciones del origen de datos ODBC y, por lo tanto, no es válido, SQLDriverConnect usa el idioma predeterminado o la base de datos para el identificador de usuario especificado y devuelve SQL_SUCCESS_WITH_INFO.

Si el valor del parámetro DriverCompletion es SQL_DRIVER_COMPLETE o SQL_DRIVER_PROMPT y, si el idioma o la base de datos no es válido, SQLDriverConnect vuelve a reproducir el cuadro de diálogo.

Compatibilidad de SQLDriverConnect para la alta disponibilidad con recuperación de desastres

Para obtener más información sobre el uso de SQLDriverConnect para conectarse a un clúster de grupos de disponibilidad AlwaysOn, consulte Compatibilidad de SQL Server Native Client con alta disponibilidad y recuperación ante desastres.

Compatibilidad de SQLDriverConnect con los Nombres principales de servicio (SPN)

SQLDDriverConnect usará el cuadro de diálogo Inicio de sesión de ODBC cuando se habilite la solicitud. Esto permite escribir SPN tanto para el servidor principal como para su asociado de conmutación por error.

SQLDriverConnect aceptará las nuevas palabras clave de cadena de conexión ServerSPN y FailoverPartnerSPN, y reconocerá los nuevos atributos de conexión SQL_COPT_SS_SERVER_SPN y SQL_COPT_SS_FAILOVER_PARTNER_SPN.

Cuando un valor de atributo de conexión se especifica más de una vez, el valor que se establece mediante programación tiene prioridad sobre el valor de un DSN y el valor de una cadena de conexión. El valor de un DSN tiene prioridad sobre el valor de una cadena de conexión.

Cuando se abre una conexión, SQL Server Native Client establece SQL_COPT_SS_MUTUALLY_AUTHENTICATED y SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD al método de autenticación que se usa para abrir la conexión.

Para obtener más información sobre los SPN, consulte Nombres de entidad de seguridad de servicio (SPN) en Conexiones de cliente (ODBC).

Ejemplos

La siguiente llamada ilustra la menor cantidad de datos necesarios para SQLDriverConnect:

SQLDriverConnect(hdbc, hwnd,  
    (SQLTCHAR*) TEXT("DRIVER={SQL Server Native Client 10};"), SQL_NTS, szOutConn,  
    MAX_CONN_OUT, &cbOutConn, SQL_DRIVER_COMPLETE);  

Los siguientes cadena de conexión ilustran los datos mínimos necesarios cuando el valor del parámetro DriverCompletion es SQL_DRIVER_NOPROMPT:

"DSN=Human Resources;Trusted_Connection=yes"  
  
"FILEDSN=HR_FDSN;Trusted_Connection=yes"  
  
"DRIVER={SQL Server Native Client 10};SERVER=(local);Trusted_Connection=yes"  

Consulte también

Función SQLDriverConnect
Detalles de implementación de la API de ODBC
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)