Partilhar via


SQLDriverConnect

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure do Azure Synapse AnalyticsAnalytics Platform System (PDW)

O driver ODBC do 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 do SQL Server Native Client.

Para obter uma lista das palavras-chave disponíveis no driver ODBC do SQL Server Native Client, consulte Usando palavras-chave de cadeia de conexão com o SQL Server Native Client.

Para obter mais informações sobre atributos de conexão do SQL Server e comportamentos padrão de driver, consulte SQLSetConnectAttr.

Para obter uma discussão sobre palavras-chave de cadeia de conexão válidas para o SQL Server Native Client, consulte Usando palavras-chave de cadeia de conexão com o SQL Server Native Client.

Quando o valor do parâmetro SQLDriverConnectDriverCompletion é SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE ou SQL_DRIVER_COMPLETE_REQUIRED, o driver ODBC do SQL Server Native Client recupera valores de palavra-chave da caixa de diálogo exibida. Se o valor da palavra-chave for passado na cadeia de conexão e o usuário não alterar o valor da palavra-chave na caixa de diálogo, o driver ODBC do SQL Server Native Client usará o valor da cadeia de conexão. Se o valor não estiver definido na cadeia de conexão e o usuário não fizer nenhuma atribuição na caixa de diálogo, o driver usará o padrão.

SQLDriverConnect deve receber um WindowHandle de válido quando qualquer valor DriverCompletion requer (ou pode 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. ODBC afirma que um driver usa a mais à esquerda dessas duas palavras-chave e ignora a outra se ambas forem especificadas. Se DRIVER for especificado, ou for o mais à esquerda dos dois, e o valor do parâmetro SQLDriverConnectDriverCompletion for SQL_DRIVER_NOPROMPT, a palavra-chave SERVER e um valor apropriado serão necessários.

Quando SQL_DRIVER_NOPROMPT é especificado, as palavras-chave de autenticação do usuário devem estar presentes com valores. O driver garante que a string "Trusted_Connection=yes" ou as palavras-chave UID e PWD estejam presentes.

Se o valor do parâmetro DriverCompletion for SQL_DRIVER_NOPROMPT ou SQL_DRIVER_COMPLETE_REQUIRED e o idioma ou banco de dados vier da cadeia de conexão e for inválido, SQLDriverConnect retornará SQL_ERROR.

Se o valor do parâmetro DriverCompletion for SQL_DRIVER_NOPROMPT ou SQL_DRIVER_COMPLETE_REQUIRED e o idioma ou banco de dados vier das definições da fonte de dados ODBC e for inválido, SQLDriverConnect usará o idioma ou banco de dados padrão para o ID de usuário especificado e retornará SQL_SUCCESS_WITH_INFO.

Se o valor do parâmetro DriverCompletion for SQL_DRIVER_COMPLETE ou SQL_DRIVER_PROMPT e se o idioma ou banco de dados for inválido, SQLDriverConnect exibirá novamente a caixa de diálogo.

Suporte SQLDriverConnect para alta disponibilidade, recuperação de desastres

Para obter mais informações sobre como usar SQLDriverConnect para se conectar a um cluster de grupos de disponibilidade Always On, consulte SQL Server Native Client Support for High Availability, Disaster Recovery.

Suporte SQLDriverConnect para nomes de entidade de serviço (SPNs)

SQLDDriverConnect usará a caixa de diálogo Login ODBC quando a solicitação estiver habilitada. Isso permite que SPNs sejam inseridos para o servidor principal e seu parceiro de failover.

SQLDriverConnect aceitará as novas palavras-chave de cadeia de conexão ServerSPN e FailoverPartnerSPNe 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 conexão. Um valor em um DSN tem precedência sobre um valor em uma cadeia 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 ao método de autenticação usado para abrir a conexão.

Para obter mais informações sobre SPNs, consulte Service Principal Names (SPNs) em Conexões de Cliente (ODBC).

Exemplos

A chamada a seguir ilustra a menor quantidade de dados necessária 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 conexão a seguir ilustram os dados mínimos necessários 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"  

Ver também

da função SQLDriverConnect
Detalhes da implementação da API ODBC
SET ANSI_NULLS (Transact-SQL)
CONJUNTO ANSI_PADDING (Transact-SQL)
CONJUNTO ANSI_WARNINGS (Transact-SQL)