Compartir a través de


SQLDriverConnect

El controlador ODBC 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 SQL Server atributos de conexión y comportamientos predeterminados del controlador, vea SQLSetConnectAttr.

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

Cuando el SQLDriverConnect valor del parámetro DriverCompletion es 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 la cadena de conexión y el usuario no modifica el valor de la palabra clave en el cuadro de diálogo, el SQL Server Native Client controlador ODBC 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 se debe proporcionar un Valor WindowHandle válido cuando cualquier valor DriverCompletion requiere (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 SQLDriverConnect parámetro DriverCompletion es 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 proceden 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 procede de las definiciones del origen de datos ODBC y 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 son válidos, SQLDriverConnect vuelve a mostrar el cuadro de diálogo.

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

Para obtener más información sobre cómo usar SQLDriverConnect para conectarse a un clúster de grupos de disponibilidad de Always On, consulte SQL Server Native Client compatibilidad 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 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 ServerSPN de cadena de conexión 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 en el método de autenticación usado para abrir la conexión.

Para obtener más información sobre los SPN, vea 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);  

Las siguientes cadenas de conexión muestran 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
ODBC API Implementation Details
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)