SQLDriverConnect
O driver ODBC para SQL Server Native Client define atributos de conexão que substituem ou aprimoram palavras-chave de cadeia de conexão. Várias palavras-chave de cadeia de conexão têm valores padrão especificados pelo driver ODBC SQL Server Native Client.
Para obter uma lista das palavras-chave disponíveis no driver ODBC SQL Server Native Client, consulte Usando palavras-chave da cadeia de conexão com o SQL Server Native Client.
Para obter mais informações sobre atributos de conexão e comportamentos padrão do driver do SQL Server, consulte SQLSetConnectAttr.
Para uma discussão das palavras-chave da cadeia de conexão que são válidas para o SQL Server Native Client, consulte Usando palavras-chave da cadeia de conexão com o SQL Server Native Client.
Quando o valor de parâmetro SQLDriverConnect DriverCompletion é SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE ou SQL_DRIVER_COMPLETE_REQUIRED, o driver ODBC SQL Server Native Client recupera valores de palavra-chave da caixa de diálogo exibida. Se o valor de palavra-chave for transmitido na cadeia de caracteres da conexão e o usuário não alterar o valor para a palavra-chave na caixa de diálogo, o driver ODBC SQL Server Native Client usará o valor da cadeia de caracteres da conexão. Se o valor não for definido na cadeia de caracteres da conexão e o usuário não fizer nenhuma atribuição na caixa de diálogo, o driver usará o padrão.
Um identificador WindowHandle válido deve ser atribuído a SQLDriverConnect quando qualquer valor de DriverCompletion exige (ou poderá exigir) a exibição da caixa de diálogo de conexão do driver. Um identificador inválido retorna SQL_ERROR.
Especifique as palavras-chave DRIVER ou DSN. O ODBC declara que um driver usa a que está mais à esquerda dessas duas palavras-chave e ignora a outra se ambas estão especificadas. Se DRIVER for especificado ou estiver mais à esquerda das duas palavras-chave, e o valor de parâmetro SQLDriverConnect DriverCompletion for SQL_DRIVER_NOPROMPT, a palavra-chave SERVER e um valor apropriado serão exigidos.
Quando SQL_DRIVER_NOPROMPT é especificado, as palavras-chave de autenticação de usuário devem estar presentes com valores. O driver assegura que a cadeia de caracteres "Trusted_Connection=yes" ou as palavras-chave UID e PWD estão presentes.
Se o valor de parâmetro DriverCompletion for SQL_DRIVER_NOPROMPT ou SQL_DRIVER_COMPLETE_REQUIRED e o idioma ou o banco de dados proveniente da cadeia de caracteres de conexão e um ou outro for válido, SQLDriverConnect retornará SQL_ERROR.
Se o valor de parâmetro DriverCompletion for SQL_DRIVER_NOPROMPT ou SQL_DRIVER_COMPLETE_REQUIRED e o idioma ou o banco de dados proveniente das definições da fonte de dados ODBC e um ou outro for inválido, SQLDriverConnect usará o idioma ou o banco de dados padrão para a ID de usuário especificada e retornará SQL_SUCCESS_WITH_INFO.
Se o valor de parâmetro DriverCompletion for SQL_DRIVER_COMPLETE ou SQL_DRIVER_PROMPT e se o idioma ou o banco de dados for inválido, SQLDriverConnect exibirá novamente a caixa de diálogo.
Suporte de SQLDriverConnect à alta disponibilidade e recuperação de desastre
Para obter mais informações sobre como usar SQLDriverConnect para se conectar a um cluster Grupos de Disponibilidade AlwaysOn, consulte Suporte do SQL Server Native Client à alta disponibilidade e recuperação de desastre.
Suporte de SQLDriverConnect a SPNs (nomes de entidade de serviço)
SQLDDriverConnect usará a caixa de diálogo Logon do ODBC quando for solicitado. Isto permite que os SPNs sejam digitados para o servidor principal e seu parceiro de failover.
SQLDriverConnect aceitará as novas palavras-chave da cadeia de caracteres de conexão, ServerSPN e FailoverPartnerSPN, e reconhecerá os novos atributos de conexão, SQL_COPT_SS_SERVER_SPN e SQL_COPT_SS_FAILOVER_PARTNER_SPN.
Quando um valor de atributo de conexão é especificado mais de uma vez, um valor definido programaticamente tem precedência sobre o valor em um DSN e um valor em uma cadeia de caracteres de conexão. Um valor em um DSN tem precedência sobre um valor em uma cadeia de caracteres de conexão.
Quando uma conexão é aberta, o SQL Server Native Client define SQL_COPT_SS_MUTUALLY_AUTHENTICATED e SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD como o método de autenticação usado para abrir a conexão.
Para obter mais informações sobre SPNs, consulte SPNs (Nomes da Entidade de Serviço) em conexões de cliente (ODBC).
Exemplos
A chamada a seguir ilustra a quantidade mínima de dados necessários para SQLDriverConnect:
SQLDriverConnect(hdbc, hwnd,
(SQLTCHAR*) TEXT("DRIVER={SQL Server Native Client 10};"), SQL_NTS, szOutConn,
MAX_CONN_OUT, &cbOutConn, SQL_DRIVER_COMPLETE);
As cadeias de caracteres de conexão a seguir ilustram o mínimo de dados exigidos quando o valor do parâmetro DriverCompletion é 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 também
Referência
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
Conceitos
Detalhes de implementação da API ODBC