Compartilhar via


SQLSetConnectAttr

O driver ODBC do SQL Server Native Client ignora a configuração de SQL_ATTR_CONNECTION_TIMEOUT.

SQL_ATTR_TRANSLATE_LIB também é ignorado; não há suporte para especificar outra biblioteca de tradução. Para permitir que os aplicativos sejam portados facilmente para usar um driver ODBC da Microsoft para SQL Server, qualquer valor definido com SQL_ATTR_TRANSLATE_LIB será copiado para dentro e para fora de um buffer no Gerenciador de Driver.

O driver ODBC do SQL Server Native Client implementa o isolamento de transação de leitura repetível como serializável.

O SQL Server 2005 introduziu suporte para um novo atributo de isolamento de transação, SQL_COPT_SS_TXN_ISOLATION. Definir SQL_COPT_SS_TXN_ISOLATION para SQL_TXN_SS_SNAPSHOT indica que a transação ocorrerá no nível de isolamento do instantâneo.

Observação

SQL_ATTR_TXN_ISOLATION pode ser usado para definir todos os outros níveis de isolamento, exceto para SQL_TXN_SS_SNAPSHOT. Se você quiser usar o isolamento de instantâneo, deverá definir SQL_TXN_SS_SNAPSHOT por meio de SQL_COPT_SS_TXN_ISOLATION. No entanto, você pode recuperar o nível de isolamento usando SQL_ATTR_TXN_ISOLATION ou SQL_COPT_SS_TXN_ISOLATION.

A promoção de atributos de instrução ODBC para atributos de conexão pode ter consequências não intencionais. Atributos de instrução que solicitam cursores de servidor para processamento de conjunto de resultados podem ser promovidos à conexão. Por exemplo, definir o atributo de instrução ODBC SQL_ATTR_CONCURRENCY para um valor mais restritivo do que o padrão SQL_CONCUR_READ_ONLY orienta o driver a usar cursores dinâmicos para todas as instruções enviadas na conexão. Executar uma função de catálogo ODBC em uma instrução na conexão retorna SQL_SUCCESS_WITH_INFO e um registro de diagnóstico indicando que o comportamento do cursor foi alterado para somente leitura. A tentativa de executar uma instrução Transact-SQL SELECT que contém uma cláusula COMPUTE na mesma conexão falha.

O driver ODBC do SQL Server Native Client dá suporte a várias extensões específicas do driver para atributos de conexão ODBC definidos em sqlncli.h. O driver ODBC do SQL Server Native Client pode exigir que o atributo seja definido antes da conexão ou pode ignorar o atributo se ele já estiver definido. A tabela a seguir lista as restrições.

Atributo do SQL Server Definir antes ou depois da conexão com o servidor
SQL_COPT_SS_ANSI_NPW Antes
SQL_COPT_SS_APPLICATION_INTENT Antes
SQL_COPT_SS_ATTACHDBFILENAME Antes
SQL_COPT_SS_BCP Antes
SQL_COPT_SS_BROWSE_CONNECT Antes
SQL_COPT_SS_BROWSE_SERVER Antes
SQL_COPT_SS_CONCAT_NULL Antes
SQL_COPT_SS_CONNECTION_DEAD Depois
SQL_COPT_SS_ENCRYPT Antes
SQL_COPT_SS_ENLIST_IN_DTC Depois
SQL_COPT_SS_ENLIST_IN_XA Depois
SQL_COPT_SS_FALLBACK_CONNECT Antes
SQL_COPT_SS_FAILOVER_PARTNER Antes
SQL_COPT_SS_INTEGRATED_SECURITY Antes
SQL_COPT_SS_MARS_ENABLED Antes
SQL_COPT_SS_MULTISUBMIT_FAILOVER Antes
SQL_COPT_SS_OLDPWD Antes
SQL_COPT_SS_PERF_DATA Depois
SQL_COPT_SS_PERF_DATA_LOG Depois
SQL_COPT_SS_PERF_DATA_LOG_NOW Depois
SQL_COPT_SS_PERF_QUERY Depois
SQL_COPT_SS_PERF_QUERY_INTERVAL Depois
SQL_COPT_SS_PERF_QUERY_LOG Depois
SQL_COPT_SS_PRESERVE_CURSORS Antes
SQL_COPT_SS_QUOTED_IDENT Tampouco
SQL_COPT_SS_TRANSLATE Tampouco
SQL_COPT_SS_TRUST_SERVER_CERTIFICATE Antes
SQL_COPT_SS_TXN_ISOLATION Tampouco
SQL_COPT_SS_USE_PROC_FOR_PREP Tampouco
SQL_COPT_SS_USER_DATA Tampouco
SQL_COPT_SS_WARN_ON_CP_ERROR Antes

Usar um atributo de pré-conexão e o comando Transact-SQL equivalente para a mesma sessão, banco de dados ou estado do SQL Server pode produzir um comportamento inesperado. Por exemplo

SQLSetConnectAttr(SQL_COPT_SS_QUOTED_IDENT, SQL_QI_ON) // turn ON via attribute  
SQLDriverConnect(...);  
SQLExecDirect("SET QUOTED_IDENTIFIER OFF") // turn OFF via Transact-SQL  
SQLSetConnectAttr(SQL_ATTR_CURRENT_CATALOG, ...) // restores to pre-connect attribute value  

SQL_COPT_SS_ANSI_NPW

SQL_COPT_SS_ANSI_NPW habilita ou desabilita o uso do tratamento iso de NULL em comparações e concatenação, preenchimento de tipo de dados de caractere e avisos. Para obter mais informações, consulte SET ANSI_NULLS, SET ANSI_PADDING, SET ANSI_WARNINGS e SET CONCAT_NULL_YIELDS_NULL.

Valor Descrição
SQL_AD_ON Padrão. A conexão usa o comportamento padrão ANSI para lidar com comparações NULL, preenchimento, avisos e concatenações NULL.
SQL_AD_OFF A conexão usa o tratamento definido pelo SQL Server de NULL, preenchimento de tipo de dados de caractere e avisos.

Se você usar o pool de conexões, SQL_COPT_SS_ANSI_NPW deverá ser definido na cadeia de conexão, em vez de com SQLSetConnectAttr. Depois que uma conexão for feita, qualquer tentativa de alterar esse atributo falhará silenciosamente quando o pool de conexões for usado.

SQL_COPT_SS_APPLICATION_INTENT

Declara o tipo de carga de trabalho de aplicativo ao conectar-se a um servidor. Os valores possíveis são: Readonly e ReadWrite. Por exemplo:

SQLSetConnectAttr(hdbc, SQL_COPT_SS_APPLICATION_INTENT, TEXT("Readonly"), SQL_NTS)  

O padrão é ReadWrite. Para obter mais informações sobre o suporte do SQL Server Native Client para AGs de Grupos de Disponibilidade AlwaysOn, consulte o suporte ao cliente nativo do SQL Server para alta disponibilidade e recuperação de desastre.

SQL_COPT_SS_ATTACHDBFILENAME

SQL_COPT_SS_ATTACHDBFILENAME especifica o nome do arquivo primário de um banco de dados anexável. Esse banco de dados é anexado e torna-se o banco de dados padrão da conexão. Para usar SQL_COPT_SS_ATTACHDBFILENAME você deve especificar o nome do banco de dados como o valor do atributo de conexão SQL_ATTR_CURRENT_CATALOG ou no parâmetro DATABASE = de um SQLDriverConnect. Se o banco de dados tiver sido anexado anteriormente, o SQL Server não o reanexará.

Valor Descrição
SQLPOINTER para uma cadeia de caracteres A cadeia de caracteres contém o nome do arquivo primário para o banco de dados a ser anexado. Inclua o nome completo do caminho do arquivo.

SQL_COPT_SS_BCP

SQL_COPT_SS_BCP habilita funções de cópia em massa em uma conexão. Para obter mais informações, consulte funções de cópia em massa.

Valor Descrição
SQL_BCP_OFF Padrão. As funções de cópia em massa não estão disponíveis na conexão.
SQL_BCP_ON As funções de cópia em massa estão disponíveis na conexão.

SQL_COPT_SS_BROWSE_CONNECT

Esse atributo é usado para personalizar o conjunto de resultados retornado por SQLBrowseConnect. SQL_COPT_SS_BROWSE_CONNECT habilita ou desabilita o retorno de informações adicionais de uma instância enumerada do SQL Server. Isso pode incluir informações como se o servidor é um cluster, nomes de instâncias diferentes e o número da versão.

Valor Descrição
SQL_MORE_INFO_NO Padrão. Retorna uma lista de servidores.
SQL_MORE_INFO_YES SQLBrowseConnect retorna uma cadeia de caracteres estendida de propriedades do servidor.

SQL_COPT_SS_BROWSE_SERVER

Esse atributo é usado para personalizar o conjunto de resultados retornado por SQLBrowseConnect. SQL_COPT_SS_BROWSE_SERVER especifica o nome do servidor para o qual SQLBrowseConnect retorna as informações.

Valor Descrição
nome do computador SQLBrowseConnect retorna uma lista de instâncias do SQL Server no computador especificado. Barras invertidas duplas (\\) não devem ser usadas para o nome do servidor (por exemplo, em vez de \\MyServer, MyServer deve ser usado).
NULO Padrão. SQLBrowseConnect retorna informações para todos os servidores no domínio.

SQL_COPT_SS_CONCAT_NULL

SQL_COPT_SS_CONCAT_NULL habilita ou desabilita o uso do tratamento ISO de NULL ao concatenar cadeias de caracteres. Para obter mais informações, consulte SET CONCAT_NULL_YIELDS_NULL.

Valor Descrição
SQL_CN_ON Padrão. A conexão usa o comportamento padrão ISO para lidar com valores NULL ao concatenar cadeias de caracteres.
SQL_CN_OFF A conexão usa o comportamento definido pelo SQL Server para lidar com valores NULL ao concatenar cadeias de caracteres.

SQL_COPT_SS_ENCRYPT

Controla a criptografia de uma conexão.

A criptografia usa o certificado no servidor. Isso deve ser verificado por uma autoridade de certificação, a menos que o atributo de conexão SQL_COPT_SS_TRUST_SERVER_CERTIFICATE esteja definido como SQL_TRUST_SERVER_CERTIFICATE_YES ou a cadeia de conexão contenha "TrustServerCertificate=yes". Se qualquer uma dessas condições for verdadeira, um certificado gerado e assinado pelo servidor poderá ser usado para criptografar a conexão se nenhum certificado estiver no servidor.

Valor Descrição
SQL_EN_ON A conexão será criptografada.
SQL_EN_OFF A conexão não será criptografada. Esse é o padrão.

SQL_COPT_SS_ENLIST_IN_DTC

O cliente chama o método OLE DB ITransactionDispenser::BeginTransaction do Microsoft Distributed Transaction Coordinator (MS DTC) para iniciar uma transação MS DTC e criar um objeto de transação MS DTC que representa a transação. Em seguida, o aplicativo chama SQLSetConnectAttr a opção SQL_COPT_SS_ENLIST_IN_DTC para associar o objeto de transação à conexão ODBC. Todas as atividades relacionadas do banco de dados serão executadas sob a proteção da transação MS DTC. O aplicativo chama SQLSetConnectAttr com SQL_DTC_DONE para encerrar a associação DTC da conexão.

Valor Descrição
Objeto DTC* O objeto de transação OLE do MS DTC que especifica a transação a ser exportada para o SQL Server.
SQL_DTC_DONE Delimita o fim de uma transação DTC.

SQL_COPT_SS_ENLIST_IN_XA

Para iniciar uma transação XA com um TP (Processador de Transações compatível com XA), o cliente chama a função tx_begin grupo aberto. Em seguida, o aplicativo chama SQLSetConnectAttr um parâmetro SQL_COPT_SS_ENLIST_IN_XA de TRUE para associar a transação XA à conexão ODBC. Todas as atividades relacionadas do banco de dados serão executadas sob a proteção da transação XA. Para encerrar uma associação XA com uma conexão ODBC, o cliente deve chamar SQLSetConnectAttr com um parâmetro SQL_COPT_SS_ENLIST_IN_XA de FALSE. Para obter mais informações, consulte a documentação do Coordenador de Transações Distribuídas da Microsoft.

SQL_COPT_SS_FALLBACK_CONNECT

Esse atributo não tem mais suporte.

SQL_COPT_SS_FAILOVER_PARTNER

Usado para especificar ou recuperar o nome do parceiro de failover usado para espelhamento de banco de dados no SQL Server e é uma cadeia de caracteres terminada nula que deve ser definida antes da conexão com o SQL Server ser inicialmente feita.

Depois de fazer a conexão, o aplicativo pode consultar esse atributo usando SQLGetConnectAttr para determinar a identidade do parceiro de failover. Se o servidor primário não tiver nenhum parceiro de failover, essa propriedade retornará uma cadeia de caracteres vazia. Isso permite que um aplicativo inteligente armazene em cache o servidor de backup determinado mais recentemente, mas esses aplicativos devem estar cientes de que as informações só são atualizadas quando a conexão é estabelecida pela primeira vez ou redefinida, se em pool, e podem ficar desatualizadas para conexões de longo prazo.

Para obter mais informações, consulte Como usar o espelhamento de banco de dados.

SQL_COPT_SS_INTEGRATED_SECURITY

SQL_COPT_SS_INTEGRATED_SECURITY força o uso da Autenticação do Windows para validação de acesso no logon do servidor. Quando a Autenticação do Windows é usada, o driver ignora os valores de identificador de usuário e senha fornecidos como parte do processamento SQLConnect, SQLDriverConnect ou SQLBrowseConnect .

Valor Descrição
SQL_IS_OFF Padrão. A Autenticação do SQL Server é usada para validar o identificador de usuário e a senha no logon.
SQL_IS_ON O Modo de Autenticação do Windows é usado para validar os direitos de acesso de um usuário para o SQL Server.

SQL_COPT_SS_MARS_ENABLED

Esse atributo habilita ou desabilita MARS (Conjuntos de Resultados Ativos Múltiplos). Por padrão, o MARS está desabilitado. Esse atributo deve ser definido antes de fazer uma conexão com o SQL Server. Depois que o SQL Server de conexão for aberto, o MARS permanecerá habilitado ou desabilitado durante a vida útil da conexão.

Valor Descrição
SQL_MARS_ENABLED_NO Padrão. Vários MARS (Conjuntos de Resultados Ativos) estão desabilitados.
SQL_MARS_ENABLED_YES O MARS está habilitado.

Para obter mais informações sobre MARS, consulte Como usar mars (conjuntos de resultados ativos múltiplos).

SQL_COPT_SS_MULTISUBNET_FAILOVER

Se seu aplicativo estiver se conectando a um AG (Grupos de Disponibilidade AlwaysOn) em sub-redes diferentes, essa propriedade de conexão configurará o SQL Server Native Client para fornecer uma detecção e conexão mais rápidas com o servidor ativo (atualmente). Por exemplo:

SQLSetConnectAttr(hdbc, SQL_COPT_SS_MULTISUBMIT_FAILOVER, SQL_IS_ON, SQL_IS_INTEGER)  

Para obter mais informações sobre o suporte do SQL Server Native Client para AGs de Grupos de Disponibilidade AlwaysOn, consulte o suporte ao cliente nativo do SQL Server para alta disponibilidade e recuperação de desastre.

Valor Descrição
SQL_IS_ON O SQL Server Native Client fornecerá uma reconexão mais rápida se houver um failover.
SQL_IS_OFF O SQL Server Native Client não fornecerá uma reconexão mais rápida se houver um failover.

SQL_COPT_SS_OLDPWD

A expiração de senha para Autenticação do SQL Server foi introduzida no SQL Server 2005. O atributo SQL_COPT_SS_OLDPWD foi adicionado para permitir que o cliente forneça a senha antiga e a nova para a conexão. Quando essa propriedade for definida, o provedor não usará o pool de conexões para a primeira conexão ou para conexões subsequentes, pois a cadeia de conexão conterá a "senha antiga" que agora foi alterada.

Para obter mais informações, consulte Alterando senhas programaticamente.

Valor Descrição
SQL_COPT_SS_OLD_PASSWORD SQLPOINTER para uma cadeia de caracteres que contém a senha antiga. Esse valor é somente gravação e deve ser definido antes da conexão com o servidor.

SQL_COPT_SS_PERF_DATA

SQL_COPT_SS_PERF_DATA inicia ou interrompe o registro em log de dados de desempenho. O nome do arquivo de log de dados deve ser definido antes de iniciar o registro em log de dados. Veja SQL_COPT_SS_PERF_DATA_LOG abaixo.

Valor Descrição
SQL_PERF_START Inicia os dados de desempenho de amostragem do driver.
SQL_PERF_STOP Interrompe os contadores de dados de desempenho de amostragem.

Para obter mais informações, consulte SQLGetConnectAttr.

SQL_COPT_SS_PERF_DATA_LOG

SQL_COPT_SS_PERF_DATA_LOG atribui o nome do arquivo de log usado para registrar dados de desempenho. O nome do arquivo de log é um ANSI ou Unicode, cadeia de caracteres terminada em nulo, dependendo da compilação do aplicativo. O argumento StringLength deve ser SQL_NTS.

SQL_COPT_SS_PERF_DATA_LOG_NOW

SQL_COPT_SS_PERF_DATA_LOG_NOW instrui o driver a gravar uma entrada de log de estatísticas no disco. O argumento StringLength deve ser SQL_NTS.

SQL_COPT_SS_PERF_QUERY

SQL_COPT_SS_PERF_QUERY inicia ou interrompe o registro em log para consultas de execução prolongada. O nome do arquivo de log de consulta deve ser fornecido antes de iniciar o registro em log. O aplicativo pode definir "execução longa" definindo o intervalo para registro em log.

Valor Descrição
SQL_PERF_START Inicia o registro em log de consultas de execução prolongada.
SQL_PERF_STOP Interrompe o registro em log de consultas de execução prolongada.

Para obter mais informações, consulte SQLGetConnectAttr.

SQL_COPT_SS_PERF_QUERY_INTERVAL

SQL_COPT_SS_PERF_QUERY_INTERVAL define o limite de log de consulta em milissegundos. As consultas que não são resolvidas dentro do limite são registradas no arquivo de log de consultas de execução prolongada. Não há limite superior no limite de consulta. Um valor de limite de consulta de zero causa o registro em log de todas as consultas.

SQL_COPT_SS_PERF_QUERY_LOG

SQL_COPT_SS_PERF_QUERY_LOG atribui o nome de um arquivo de log para gravar dados de consulta de execução prolongada. O nome do arquivo de log é um ANSI ou Unicode, cadeia de caracteres terminada em nulo, dependendo da compilação do aplicativo. O argumento StringLength deve ser SQL_NTS ou o comprimento da cadeia de caracteres em bytes.

SQL_COPT_SS_PRESERVE_CURSORS

Esse atributo permite que você consulte e defina se a conexão preservará ou não os cursores ao confirmar/reverter uma transação. A configuração é SQL_PC_ON ou SQL_PC_OFF. O valor padrão é SQL_PC_OFF. Essa configuração controla se o driver fechará ou não os cursores para você ao chamar SQLEndTran (ou SQLTransact).

Valor Descrição
SQL_PC_OFF Padrão. Os cursores são fechados quando a transação é confirmada ou revertida usando SQLEndTran.
SQL_PC_ON Os cursores não são fechados quando a transação é confirmada ou revertida usando SQLEndTran, exceto ao usar um cursor estático ou de conjunto de chaves no modo assíncrono. Se uma reversão for emitida enquanto a população do cursor não estiver concluída, o cursor será fechado.

SQL_COPT_SS_QUOTED_IDENT

SQL_COPT_SS_QUOTED_IDENT permite identificadores entre aspas em instruções ODBC e Transact-SQL enviadas na conexão. Ao fornecer identificadores entre aspas, o driver ODBC do SQL Server Native Client permite nomes de objeto inválidos, como "Minha Tabela", que contém um caractere de espaço no identificador. Para obter mais informações, consulte SET QUOTED_IDENTIFIER.

Valor Descrição
SQL_QI_OFF A conexão do SQL Server não permite identificadores entre aspas no Transact-SQL enviado.
SQL_QI_ON Padrão. A conexão permite identificadores entre aspas no Transact-SQL enviado.

SQL_COPT_SS_TRANSLATE

SQL_COPT_SS_TRANSLATE faz com que o driver traduza caracteres entre as páginas de código do cliente e do servidor à medida que os dados do MBCS são trocados. O atributo afeta apenas os dados armazenados nas colunaschar, varchar e text do SQL Server.

Valor Descrição
SQL_XL_OFF O driver não converte caracteres de uma página de código para outra em dados de caracteres trocados entre o cliente e o servidor.
SQL_XL_ON Padrão. O driver converte caracteres de uma página de código para outra em dados de caracteres trocados entre o cliente e o servidor. O driver configura automaticamente a tradução de caracteres, determinando a página de código instalada no servidor e a usada pelo cliente.

SQL_COPT_SS_TRUST_SERVER_CERTIFICATE

SQL_COPT_SS_TRUST_SERVER_CERTIFICATE faz com que o driver habilite ou desabilite a validação do certificado ao usar a criptografia. Esse atributo é um valor de leitura/gravação, mas defini-lo depois que uma conexão foi estabelecida não tem efeito.

Os aplicativos cliente podem consultar essa propriedade depois que uma conexão for aberta para determinar as configurações reais de criptografia e validação em uso.

Valor Descrição
SQL_TRUST_SERVER_CERTIFICATE_NO Padrão. A criptografia sem validação de certificado não está habilitada.
SQL_TRUST_SERVER_CERTIFICATE_YES A criptografia sem validação de certificado está habilitada.

SQL_COPT_SS_TXN_ISOLATION

SQL_COPT_SS_TXN_ISOLATION define o atributo de isolamento de instantâneo específico do SQL Server. O isolamento de instantâneo não pode ser definido usando SQL_ATTR_TXN_ISOLATION porque o valor é específico do SQL Server. No entanto, ele pode ser recuperado usando SQL_ATTR_TXN_ISOLATION ou SQL_COPT_SS_TXN_ISOLATION.

Valor Descrição
SQL_TXN_SS_SNAPSHOT Indica que de uma transação você não pode ver alterações feitas em outras transações e que não pode ver alterações mesmo durante a requerimento.

Para obter mais informações sobre o isolamento de instantâneo, consulte Trabalhando com isolamento de instantâneo.

SQL_COPT_SS_USE_PROC_FOR_PREP

Esse atributo não tem mais suporte.

SQL_COPT_SS_USER_DATA

SQL_COPT_SS_USER_DATA define o ponteiro de dados do usuário. Os dados do usuário são memória de propriedade do cliente registrada por conexão.

Para obter mais informações, consulte SQLGetConnectAttr.

SQL_COPT_SS_WARN_ON_CP_ERROR

Esse atributo determina se você receberá um aviso se houver uma perda de dados durante uma conversão de página de código. Isso se aplica somente aos dados provenientes do servidor.

Valor Descrição
SQL_WARN_YES Gere avisos quando a perda de dados é encontrada durante a conversão da página de código.
SQL_WARN_NO (Padrão) Não gere avisos quando a perda de dados é encontrada durante a conversão da página de código.

Suporte do SQLSetConnectAttr para SPNs (Nomes de Entidade de Serviço)

SQLSetConnectAttr pode ser usado para definir o valor dos novos atributos de conexão SQL_COPT_SS_SERVER_SPN e SQL_COPT_SS_FAILOVER_PARTNER_SPN. Esses atributos não podem ser definidos quando uma conexão está aberta; se você tentar definir esses atributos quando uma conexão estiver aberta, o erro HY011 será retornado com a mensagem "Operação inválida no momento". (SQLSetConnectOption também pode ser usado para definir esses valores.)

Para obter mais informações sobre SPNs, consulte SPNs (nomes de entidade de serviço) em ODBC (conexões de cliente).

SQL_COPT_SS_CONNECTION_DEAD

Este é um atributo somente leitura.

Para obter mais informações sobre SQL_COPT_SS_CONNECTION_DEAD, consulte SQLGetConnectAttr e Conectando-se a uma fonte de dados (ODBC).

Exemplo

Este exemplo registra dados de desempenho.

SQLPERF*     pSQLPERF;  
SQLINTEGER   nValue;  
  
// See if you are already logging. SQLPERF* will be NULL if not.  
SQLGetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA, &pSQLPERF,  
    sizeof(SQLPERF*), &nValue);  
  
if (pSQLPERF == NULL)  
    {  
    // Set the performance log file name.  
    SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG,  
        (SQLPOINTER) "\\My LogDirectory\\MyServerLog.txt", SQL_NTS);  
  
    // Start logging...  
    SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA,  
        (SQLPOINTER) SQL_PERF_START, SQL_IS_INTEGER);  
    }  
else  
    {  
    // Take a snapshot now so that your performance statistics are discernible.  
    SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);  
    }  
  
    // ...perform some action...  
  
// ...take a performance data snapshot...  
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);  
  
    // ...perform more actions...  
  
// ...take another snapshot...  
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);  
  
// ...and disable logging.  
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA,  
    (SQLPOINTER) SQL_PERF_STOP, SQL_IS_INTEGER);  
  
// Continue on...  

Consulte Também

Função SQLSetConnectAttr
Detalhes da implementação da API do ODBC
Funções de cópia em massa
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)
Função SQLPrepare
SQLGetInfo