SQLSetConnectAttr

Si applica a:SQL ServerDatabase SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics PlatformSystem (PDW)

Il driver ODBC di SQL Server Native Client ignora l'impostazione di SQL_ATTR_CONNECTION_TIMEOUT.

SQL_ATTR_TRANSLATE_LIB viene inoltre ignorato. La specifica di un'altra libreria di conversione non è supportata. Per consentire alle applicazioni di essere facilmente convertite per l'uso di un driver ODBC Microsoft per SQL Server, qualsiasi valore impostato con SQL_ATTR_TRANSLATE_LIB verrà copiato in e all'esterno di un buffer in Gestione driver.

Il driver ODBC di SQL Server Native Client implementa l'isolamento delle transazioni di lettura ripetibile come serializzabile.

SQL Server 2005 (9.x) ha introdotto il supporto per un nuovo attributo di isolamento delle transazioni, SQL_COPT_SS_TXN_ISOLATION. Impostando SQL_COPT_SS_TXN_ISOLATION su SQL_TXN_SS_SNAPSHOT si indica che la transazione si verificherà con il livello di isolamento dello snapshot.

Nota

SQL_ATTR_TXN_ISOLATION può essere utilizzato per impostare tutti gli altri livelli di isolamento ad eccezione di SQL_TXN_SS_SNAPSHOT. Se si desidera utilizzare l'isolamento dello snapshot, è necessario impostare SQL_TXN_SS_SNAPSHOT tramite SQL_COPT_SS_TXN_ISOLATION. Tuttavia, è possibile recuperare il livello di isolamento tramite SQL_ATTR_TXN_ISOLATION oppure SQL_COPT_SS_TXN_ISOLATION.

La promozione di attributi di istruzione ODBC ad attributi di connessione può comportare conseguenze impreviste. Gli attributi di istruzione che richiedono cursori del server per l'elaborazione dei set di risultati possono essere promossi ad attributi di connessione. L'impostazione, ad esempio, dell'attributo di istruzione ODBC SQL_ATTR_CONCURRENCY su un valore più restrittivo del valore predefinito SQL_CONCUR_READ_ONLY indica al driver di utilizzare cursori dinamici per tutte le istruzioni eseguite nella connessione. L'esecuzione di una funzione di catalogo ODBC in un'istruzione nella connessione restituisce SQL_SUCCESS_WITH_INFO e un record di diagnostica indicante che il comportamento del cursore è stato modificato e impostato come di sola lettura. Un tentativo di esecuzione di un'istruzione Transact-SQL SELECT contenente una clausola COMPUTE nella stessa connessione avrà esito negativo.

Il driver ODBC di SQL Server Native Client supporta diverse estensioni specifiche del driver per gli attributi di connessione ODBC definiti in sqlncli.h. Il driver ODBC di SQL Server Native Client potrebbe richiedere l'impostazione dell'attributo prima della connessione oppure può ignorare l'attributo se è già impostato. Nella tabella seguente sono incluse le restrizioni.

Attributo di SQL Server Impostazione prima o dopo la connessione al server
SQL_COPT_SS_ANSI_NPW Prima
SQL_COPT_SS_APPLICATION_INTENT Prima
SQL_COPT_SS_ATTACHDBFILENAME Prima
SQL_COPT_SS_BCP Prima
SQL_COPT_SS_BROWSE_CONNECT Prima
SQL_COPT_SS_BROWSE_SERVER Prima
SQL_COPT_SS_CONCAT_NULL Prima
SQL_COPT_SS_CONNECTION_DEAD Dopo
SQL_COPT_SS_ENCRYPT Prima
SQL_COPT_SS_ENLIST_IN_DTC Dopo
SQL_COPT_SS_ENLIST_IN_XA Dopo
SQL_COPT_SS_FALLBACK_CONNECT Prima
SQL_COPT_SS_FAILOVER_PARTNER Prima
SQL_COPT_SS_INTEGRATED_SECURITY Prima
SQL_COPT_SS_MARS_ENABLED Prima
SQL_COPT_SS_MULTISUBNET_FAILOVER Prima
SQL_COPT_SS_OLDPWD Prima
SQL_COPT_SS_PERF_DATA Dopo
SQL_COPT_SS_PERF_DATA_LOG Dopo
SQL_COPT_SS_PERF_DATA_LOG_NOW Dopo
SQL_COPT_SS_PERF_QUERY Dopo
SQL_COPT_SS_PERF_QUERY_INTERVAL Dopo
SQL_COPT_SS_PERF_QUERY_LOG Dopo
SQL_COPT_SS_PRESERVE_CURSORS Prima
SQL_COPT_SS_QUOTED_IDENT Prima o dopo
SQL_COPT_SS_TRANSLATE Prima o dopo
SQL_COPT_SS_TRUST_SERVER_CERTIFICATE Prima
SQL_COPT_SS_TXN_ISOLATION Prima o dopo
SQL_COPT_SS_USE_PROC_FOR_PREP Prima o dopo
SQL_COPT_SS_USER_DATA Prima o dopo
SQL_COPT_SS_WARN_ON_CP_ERROR Prima

L'uso di un attributo di pre-connessione e del comando Transact-SQL equivalente per la stessa sessione, database o stato di SQL Server può produrre un comportamento imprevisto. Ad esempio,

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 abilita o disabilita l'utilizzo della gestione ISO di valori NULL nei confronti e nella concatenazione, nella spaziatura dei tipi di dati character e negli avvisi. Per ulteriori informazioni, vedere SET ANSI_NULLS, SET ANSI_PADDING, SET ANSI_WARNINGS e SET CONCAT_NULL_YIELDS_NULL.

Valore Descrizione
SQL_AD_ON Predefinito. La connessione utilizza il comportamento ANSI predefinito per la gestione dei confronti di valori NULL, per il riempimento, gli avvisi e le concatenazioni NULL.
SQL_AD_OFF La connessione usa la gestione definita da SQL Server di VALORI NULL, spaziatura interna del tipo di dati carattere e avvisi.

Se si usa il pool di connessioni, SQL_COPT_SS_ANSI_NPW deve essere impostato nella stringa di connessione anziché con SQLSetConnectAttr. Una volta stabilita una connessione, qualsiasi tentativo di modifica di questo attributo avrà esito negativo senza generare alcun avviso quando si utilizza un pool di connessioni.

SQL_COPT_SS_APPLICATION_INTENT

Dichiara il tipo di carico di lavoro dell'applicazione in caso di connessione a un server. I valori possibili sono Readonly e ReadWrite. Ad esempio:

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

Il valore predefinito è ReadWrite. Per altre informazioni sul supporto di SQL Server Native Client per i gruppi di disponibilità AlwaysOn, vedere Supporto di SQL Server Native Client per disponibilità elevata, ripristino di emergenza.

SQL_COPT_SS_ATTACHDBFILENAME

SQL_COPT_SS_ATTACHDBFILENAME specifica il nome del file primario di un database collegabile. Questo database viene collegato e diventa il database predefinito per la connessione. Per usare SQL_COPT_SS_ATTACHDBFILENAME è necessario specificare il nome del database come valore dell'attributo di connessione SQL_ATTR_CURRENT_CATALOG o nel parametro DATABASE = di sqlDriverConnect. Se il database è stato collegato in precedenza, SQL Server non lo ricollega.

Valore Descrizione
SQLPOINTER a una stringa di caratteri La stringa contiene il nome del file primario per il database da collegare. Includere il percorso completo del file.

SQL_COPT_SS_BCP

SQL_COPT_SS_BCP consente funzioni di copia bulk in una connessione. Per altre informazioni, vedere Funzioni di copia bulk.

Valore Descrizione
SQL_BCP_OFF Predefinito. Le funzioni di copia bulk non sono disponibili nella connessione.
SQL_BCP_ON Le funzioni di copia bulk sono disponibili nella connessione.

SQL_COPT_SS_BROWSE_CONNECT

Questo attributo viene usato per personalizzare il set di risultati restituito da SQLBrowseConnect. SQL_COPT_SS_BROWSE_CONNECT abilita o disabilita la restituzione di informazioni aggiuntive da un'istanza enumerata di SQL Server. Tali informazioni possono includere l'indicazione che il server è o non è un cluster, i nomi di diverse istanze e il numero di versione.

Valore Descrizione
SQL_MORE_INFO_NO Predefinito. Restituisce un elenco di server.
SQL_MORE_INFO_YES SQLBrowseConnect restituisce una stringa estesa di proprietà del server.

SQL_COPT_SS_BROWSE_SERVER

Questo attributo viene usato per personalizzare il set di risultati restituito da SQLBrowseConnect. SQL_COPT_SS_BROWSE_SERVER specifica il nome del server per il quale SQLBrowseConnect restituisce le informazioni.

Valore Descrizione
nomecomputer SQLBrowseConnect restituisce un elenco di istanze di SQL Server nel computer specificato. Le doppie barre rovesciata (\\) non devono essere usate per il nome del server( ad esempio, anziché \\MyServer, è consigliabile usare MyServer).
NULL Predefinito. SQLBrowseConnect restituisce informazioni per tutti i server nel dominio.

SQL_COPT_SS_CONCAT_NULL

SQL_COPT_SS_CONCAT_NULL abilita o disabilita l'utilizzo della gestione ISO di valori NULL per la concatenazione delle stringhe. Per ulteriori informazioni, vedere SET CONCAT_NULL_YIELDS_NULL.

Valore Descrizione
SQL_CN_ON Predefinito. La connessione utilizza il comportamento predefinito ISO per la gestione di valori NULL per la concatenazione delle stringhe.
SQL_CN_OFF La connessione usa il comportamento definito da SQL Server per la gestione dei valori NULL durante la concatenazione di stringhe.

SQL_COPT_SS_ENCRYPT

Controlla la crittografia per una connessione.

Per la crittografia viene utilizzato il certificato del server. Tale certificato deve essere verificato da un autorità di certificazione, a meno che l'attributo di connessione SQL_COPT_SS_TRUST_SERVER_CERTIFICATE venga impostato su SQL_TRUST_SERVER_CERTIFICATE_YES o la stringa di connessione contenga "TrustServerCertificate=yes". Se si verifica una di queste condizioni, un certificato generato e firmato dal server può essere utilizzato per crittografare la connessione se nel server non è presente alcun certificato.

Valore Descrizione
SQL_EN_ON La connessione verrà crittografata.
SQL_EN_OFF La connessione non verrà crittografata. Si tratta dell'impostazione predefinita.

SQL_COPT_SS_ENLIST_IN_DTC

Il client chiama il metodo MICROSOFT Distributed Transaction Coordinator (MS DTC) OLE DB ITransactionDispenser::BeginTransaction per avviare una transazione MS DTC e creare un oggetto transazione MS DTC che rappresenta la transazione. L'applicazione chiama quindi SQLSetConnectAttr con l'opzione SQL_COPT_SS_ENLIST_IN_DTC per associare l'oggetto transazione alla connessione ODBC. Tutte le attività del database correlate verranno eseguite sotto la protezione della transazione MS DTC. L'applicazione chiama SQLSetConnectAttr con SQL_DTC_DONE per terminare l'associazione DTC della connessione.

Valore Descrizione
Oggetto DTC* Oggetto transazione OLE MS DTC che specifica la transazione da esportare in SQL Server.
SQL_DTC_DONE Delimita la fine di una transazione DTC.

SQL_COPT_SS_ENLIST_IN_XA

Per avviare una transazione XA con un processore di transazioni (TP) conforme a XA, il client chiama la funzione open group tx_begin . L'applicazione chiama quindi SQLSetConnectAttr con un parametro di SQL_COPT_SS_ENLIST_IN_XA true per associare la transazione XA alla connessione ODBC. Tutte le attività del database correlate verranno eseguite sotto la protezione della transazione XA. Per terminare un'associazione XA con una connessione ODBC, il client deve chiamare SQLSetConnectAttr con un parametro SQL_COPT_SS_ENLIST_IN_XA false. Per ulteriori informazioni, vedere la documentazione di Microsoft Distributed Transaction Coordinator.

SQL_COPT_SS_FALLBACK_CONNECT

Questo attributo non è più supportato.

SQL_COPT_SS_FAILOVER_PARTNER

Usato per specificare o recuperare il nome del partner di failover usato per il mirroring del database in SQL Server ed è una stringa di caratteri con terminazione Null che deve essere impostata prima che venga stabilita la connessione a SQL Server.

Dopo aver stabilito la connessione, l'applicazione può eseguire query su questo attributo usando SQLGetConnectAttr per determinare l'identità del partner di failover. Se il server primario non dispone di partner di failover, la proprietà restituirà una stringa vuota. In questo modo, un'applicazione smart può memorizzare nella cache il server di backup determinato più di recente, benché con tali applicazioni sia necessario tenere conto del fatto che le informazioni vengono aggiornate solo quando la connessione viene stabilita per la prima volta (o reimpostata, se in pool) e possono diventare obsolete nel caso di connessioni prolungate.

Per altre informazioni, vedere Uso del mirroring del database.

SQL_COPT_SS_INTEGRATED_SECURITY

SQL_COPT_SS_INTEGRATED_SECURITY forza l'utilizzo dell'autenticazione di Windows per la convalida dell'accesso in fase di connessione al server. Quando si usa l'autenticazione di Windows, il driver ignora i valori di identificatore utente e password forniti come parte dell'elaborazione SQLConnect, SQLDriverConnect o SQLBrowseConnect.

Valore Descrizione
SQL_IS_OFF Predefinito. L'autenticazione di SQL Server viene usata per convalidare l'identificatore utente e la password nell'account di accesso.
SQL_IS_ON La modalità di autenticazione di Windows viene usata per convalidare i diritti di accesso di un utente a SQL Server.

SQL_COPT_SS_MARS_ENABLED

Questo attributo abilita o disabilita MARS (Multiple Active Result Set). Per impostazione predefinita, MARS è disabilitato. Questo attributo deve essere impostato prima di stabilire una connessione a SQL Server. Dopo l'apertura della connessione SQL Server, MARS rimarrà abilitato o disabilitato per la durata della connessione.

Valore Descrizione
SQL_MARS_ENABLED_NO Predefinito. MARS è disabilitato.
SQL_MARS_ENABLED_YES MARS è abilitato.

Per altre informazioni su MARS, vedere Uso di più set di risultati attivi (MARS).

SQL_COPT_SS_MULTISUBNET_FAILOVER

Se l'applicazione si connette a un gruppo di disponibilità dei gruppi di disponibilità AlwaysOn in subnet diverse, questa proprietà di connessione configura SQL Server Native Client per fornire un rilevamento e una connessione più veloci al server attivo (attualmente). Ad esempio:

SQLSetConnectAttr(hdbc, SQL_COPT_SS_MULTISUBNET_FAILOVER, SQL_IS_ON, SQL_IS_INTEGER)  

Per altre informazioni sul supporto di SQL Server Native Client per i gruppi di disponibilità AlwaysOn, vedere Supporto di SQL Server Native Client per disponibilità elevata, ripristino di emergenza.

Valore Descrizione
SQL_IS_ON SQL Server Native Client offre una riconnessione più rapida in caso di failover.
SQL_IS_OFF SQL Server Native Client non fornirà una riconnessione più veloce se si verifica un failover.

SQL_COPT_SS_OLDPWD

La scadenza della password per l'autenticazione di SQL Server è stata introdotta in SQL Server 2005 (9.x). L'attributo SQL_COPT_SS_OLDPWD è stato aggiunto per consentire al client di fornire sia la vecchia password che la nuova per la connessione. Quando questa proprietà è impostata, il provider non utilizzerà il pool di connessioni per la prima connessione o per le connessioni successive, in quanto la stringa di connessione conterrà la password precedente che è stata modificata.

Per altre informazioni, vedere Modifica delle password a livello di programmazione.

Valore Descrizione
SQL_COPT_SS_OLD_PASSWORD SQLPOINTER a una stringa di caratteri contenente la password precedente. Questo valore è di sola scrittura e deve essere impostato prima della connessione al server.

SQL_COPT_SS_PERF_DATA

SQL_COPT_SS_PERF_DATA avvia o arresta la registrazione dei dati relativi alle prestazioni. Il nome del file di log deve essere impostato prima di avviare la registrazione dei dati. Vedere SQL_COPT_SS_PERF_DATA_LOG di seguito.

Valore Descrizione
SQL_PERF_START Avvia il driver che esegue il campionamento dei dati relativi alle prestazioni.
SQL_PERF_STOP Arresta il campionamento dei dati relativi alle prestazioni da parte dei contatori.

Per altre informazioni, vedere SQLGetConnectAttr.

SQL_COPT_SS_PERF_DATA_LOG

SQL_COPT_SS_PERF_DATA_LOG assegna il nome del file di log utilizzato per registrare i dati relativi alle prestazioni. Il nome del file di log è una stringa ANSI o Unicode con terminazione Null che dipende dalla compilazione dell'applicazione. L'argomento StringLength deve essere SQL_NTS.

SQL_COPT_SS_PERF_DATA_LOG_NOW

SQL_COPT_SS_PERF_DATA_LOG_NOW indica al driver di scrivere una voce del log delle statistiche sul disco. L'argomento StringLength deve essere SQL_NTS.

SQL_COPT_SS_PERF_QUERY

SQL_COPT_SS_PERF_QUERY avvia o arresta la registrazione di query con esecuzione prolungata. Il nome del file di log delle query deve essere specificato prima di avviare la registrazione. L'applicazione può definire l'esecuzione prolungata impostando l'intervallo per la registrazione.

Valore Descrizione
SQL_PERF_START Avvia la registrazione di query con esecuzione prolungata.
SQL_PERF_STOP Arresta la registrazione di query con esecuzione prolungata.

Per altre informazioni, vedere SQLGetConnectAttr.

SQL_COPT_SS_PERF_QUERY_INTERVAL

SQL_COPT_SS_PERF_QUERY_INTERVAL imposta la soglia di registrazione delle query in millisecondi. Le query che non vengono risolte entro la soglia vengono registrate nel file di log delle query con esecuzione prolungata. Non sussiste alcun limite per la soglia massima di query. Un valore soglia pari a zero comporta la registrazione di tutte le query.

SQL_COPT_SS_PERF_QUERY_LOG

SQL_COPT_SS_PERF_QUERY_LOG assegna il nome di un file di log per la registrazione dei dati delle query con esecuzione prolungata. Il nome del file di log è una stringa ANSI o Unicode con terminazione Null che dipende dalla compilazione dell'applicazione. L'argomento StringLength deve essere SQL_NTS o la lunghezza della stringa in byte.

SQL_COPT_SS_PRESERVE_CURSORS

Questo attributo consente di eseguire query per determinare se la connessione manterrà i cursori durante il commit o il rollback di una transazione e di impostare o meno tale comportamento. L'impostazione è SQL_PC_ON o SQL_PC_OFF. Il valore predefinito è SQL_PC_OFF. Questa impostazione controlla se il driver chiuderà o meno i cursori quando si chiama SQLEndTran (o SQLTransact).

Valore Descrizione
SQL_PC_OFF Predefinito. I cursori vengono chiusi quando viene eseguito il commit o il rollback della transazione tramite SQLEndTran.
SQL_PC_ON I cursori non vengono chiusi quando viene eseguito il commit o il rollback della transazione tramite SQLEndTran, tranne quando si usa un cursore statico o keyset in modalità asincrona. Se si esegue un rollback quando il popolamento del cursore non è completo, il cursore viene chiuso.

SQL_COPT_SS_QUOTED_IDENT

SQL_COPT_SS_QUOTED_IDENT consente la presenza di identificatori tra virgolette in istruzioni ODBC e Transact-SQL eseguite nella connessione. Fornendo identificatori delimitati, il driver ODBC di SQL Server Native Client consente nomi di oggetto altrimenti non validi, ad esempio "Tabella personale", che contiene uno spazio nell'identificatore. Per ulteriori informazioni, vedere SET QUOTED_IDENTIFIER.

Valore Descrizione
SQL_QI_OFF La connessione a SQL Server non consente identificatori tra virgolette in Transact-SQL inviato.
SQL_QI_ON Predefinito. La connessione consente identificatori tra virgolette in Transact-SQL inviato.

SQL_COPT_SS_TRANSLATE

SQL_COPT_SS_TRANSLATE fa in modo che il driver converta caratteri tra le tabelle codici del client e del server durante lo scambio di dati MBCS. L'attributo influisce solo sui dati archiviati nelle colonne char, varchar e text di SQL Server.

Valore Descrizione
SQL_XL_OFF Il driver non converte i caratteri da una tabella codici all'altra nei dati di tipo carattere scambiati tra il client e il server.
SQL_XL_ON Predefinito. Il driver converte caratteri da una tabella codici a un'altra in dati di tipo carattere scambiati tra il client e il server. Il driver configura automaticamente la conversione dei caratteri, determinando la tabella codici installata nel server e quella utilizzata dal client.

SQL_COPT_SS_TRUST_SERVER_CERTIFICATE

SQL_COPT_SS_TRUST_SERVER_CERTIFICATE fa in modo che il driver abiliti o disabiliti la convalida del certificato quando si utilizza la crittografia. Questo attributo è un valore di lettura/scrittura, ma non ha alcun effetto se lo si imposta una volta stabilita una connessione.

Le applicazioni client possono eseguire query su questa proprietà dopo l'apertura di una connessione per determinare le effettive impostazioni di crittografia e convalida in uso.

Valore Descrizione
SQL_TRUST_SERVER_CERTIFICATE_NO Predefinito. La crittografia senza convalida del certificato non è abilitata.
SQL_TRUST_SERVER_CERTIFICATE_YES La crittografia senza convalida del certificato è abilitata.

SQL_COPT_SS_TXN_ISOLATION

SQL_COPT_SS_TXN_ISOLATION imposta l'attributo di isolamento dello snapshot specifico di SQL Server. Non è possibile impostare l'isolamento dello snapshot usando SQL_ATTR_TXN_ISOLATION perché il valore è specifico di SQL Server. Tale valore può tuttavia essere recuperato utilizzando SQL_ATTR_TXN_ISOLATION o SQL_COPT_SS_TXN_ISOLATION.

Valore Descrizione
SQL_TXN_SS_SNAPSHOT Indica che non è possibile visualizzare da una transazione le modifiche apportate in altre transazioni e che ciò non è possibile neanche ripetendo la query.

Per altre informazioni sull'isolamento dello snapshot, vedere Uso dell'isolamento dello snapshot.

SQL_COPT_SS_USE_PROC_FOR_PREP

Questo attributo non è più supportato.

SQL_COPT_SS_USER_DATA

SQL_COPT_SS_USER_DATA consente di impostare il puntatore ai dati dell'utente. I dati dell'utente vengono registrati nella memoria di proprietà del client per ogni connessione.

Per altre informazioni, vedere SQLGetConnectAttr.

SQL_COPT_SS_WARN_ON_CP_ERROR

Questo attributo determina la visualizzazione o meno di un avviso in caso di perdita di dati durante la conversione di una tabella codici. Si applica solo ai dati provenienti dal server.

Valore Descrizione
SQL_WARN_YES Genera avvisi quando si verifica una perdita di dati durante la conversione della tabella codici.
SQL_WARN_NO (Impostazione predefinita) Non genera avvisi quando si verifica una perdita di dati durante la conversione della tabella codici.

Supporto di SQLSetConnectAttr per nomi SPN (Service Principal Name)

SQLSetConnectAttr può essere usato per impostare il valore dei nuovi attributi di connessione SQL_COPT_SS_SERVER_SPN e SQL_COPT_SS_FAILOVER_PARTNER_SPN. Tali attributi non possono essere impostati quando una connessione è aperta; se si tenta di impostare questi attributi quando una connessione è aperta, viene restituito l'errore HY011 con il messaggio "Operazione correntemente non valida". È anche possibile usare SQLSetConnectOption per impostare questi valori.

Per altre informazioni sui nomi SPN, vedere Service Principal Names (SPN) in Client Connections (ODBC).

SQL_COPT_SS_CONNECTION_DEAD

Attributo di sola lettura.

Per altre informazioni sulle SQL_COPT_SS_CONNECTION_DEAD, vedere SQLGetConnectAttr e Connessione a un'origine dati (ODBC).

Esempio

In questo esempio vengono registrati i dati relativi alle prestazioni.

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...  

Vedi anche

Funzione SQLSetConnectAttr
Dettagli di implementazione dell'API ODBC
Funzioni di copia bulk
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)
Funzione SQLPrepare
SQLGetInfo