Procedura: Elaborazione dei codici restituiti e dei parametri di output (ODBC)
Le stored procedure di SQL Server possono includere parametri di output e codici restituiti di tipo integer. I codici restituiti e i parametri di output vengono inviati nell'ultimo pacchetto dal server e non sono pertanto disponibili nell'applicazione fino a quando SQLMoreResults non restituisce SQL_NO_DATA. Se viene restituito un errore da una stored procedure, chiamare SQLMoreResults per passare al risultato successivo fino a quando non viene restituito SQL_NO_DATA.
Per un esempio in cui viene illustrato come elaborare un codice restituito e un parametro di output, vedere il file ProcessReturnCodes.cpp, che è possibile scaricare dalla pagina SQL Server Downloads nel sito MSDN. Questo esempio è stato sviluppato utilizzando Microsoft Visual C++ 2005 per ODBC versione 3.0 o successiva.
Nota 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. |
Per elaborare i codici restituiti e i parametri di output
Costruire un'istruzione SQL che utilizzi la sequenza di escape ODBC CALL. Nell'istruzione devono essere utilizzati indicatori di parametro per ogni parametro di input, di input/output e di output e per il valore restituito della procedura, se disponibile.
Chiamare SQLBindParameter per ogni istruzione di input, di input/output e di output e per il valore restituito della procedura, se disponibile.
Eseguire l'istruzione con SQLExecDirect.
Elaborare set di risultati fino a quando SQLFetch o SQLFetchScroll non restituisce SQL_NO_DATA durante l'elaborazione dell'ultimo set di risultati o fino a quando SQLMoreResults non restituisce SQL_NO_DATA. A questo punto, nelle variabili associate al codice restituito e nei parametri di output sono stati inseriti i valori dei dati restituiti.