Condividi tramite


Procedura: Elaborazione degli errori ODBC (ODBC)

È possibile utilizzare due chiamate alla funzione ODBC per recuperare messaggi ODBC: SQLGetDiagRec e SQLGetDiagField. Per ottenere informazioni correlate a ODBC nei campi di diagnostica SQLState, pfNative e ErrorMessage, chiamare SQLGetDiagRec fino a che non viene restituito SQL_NO_DATA. Per ogni record di diagnostica, è possibile chiamare SQLGetDiagField per recuperare i singoli campi. Tutti i campi specifici del driver devono essere recuperati utilizzando SQLGetDiagField.

SQLGetDiagRec e SQLGetDiagField vengono elaborati da Gestione driver ODBC, non da un driver singolo. Gestione driver ODBC memorizza nella cache i campi di diagnostica specifici del driver solo dopo che è stata stabilita una connessione. È possibile chiamare SQLGetDiagField per i campi di diagnostica specifici del driver solo dopo che è stata stabilita una connessione. Sono inclusi i comandi della connessione ODBC, anche se restituiscono SQL_SUCCESS_WITH_INFO. I campi di diagnostica specifici del driver non saranno disponibili sino alla successiva chiamata alla funzione ODBC.

Osservazioni

È disponibile un esempio completo che mostra un gestore degli errori semplice che chiama SQLGetDiagRec per ottenere le informazioni ODBC standard. Il gestore verifica quindi l'esistenza di una connessione valida e, se è presente, chiama SQLGetDiagField per ottenere i campi di diagnostica specifici del driver ODBC di SQL Server.

Il codice di esempio completo si trova nel file ProcessODBCErrors.cpp che è possibile scaricare dalla pagina SQL Server Downloads su MSDN. Questo esempio è stato sviluppato utilizzando Microsoft Visual C++ 2005 per ODBC versione 3.0 o successiva.

Nota sulla protezioneNota sulla protezione

Se possibile, utilizzare l'autenticazione di Windows. Se non è disponibile, verrà richiesto agli utenti di immettere le credenziali in fase di esecuzione. Evitare di archiviare le credenziali in un file. Se è necessario rendere persistenti le credenziali, è consigliabile crittografarle utilizzando CryptoAPI Win32.

Vedere anche

Altre risorse