Condividi tramite


Procedura: Chiamata alle stored procedure (ODBC)

Quando un'istruzione SQL chiama una stored procedure utilizzando la clausola di escape ODBC CALL, il driver di Microsoft® SQL Server™ invia la procedura a SQL Server utilizzando il meccanismo di chiamata alle stored procedure remote (RPC). Le richieste RPC ignorano la maggior parte dell'analisi delle istruzioni e dell'elaborazione dei parametri in SQL Server e sono più veloci rispetto a un'istruzione Transact-SQL EXECUTE.

Per un'applicazione di esempio che illustri questa funzionalità, vedere l'esempio per l'processing return codes and output parametersdisponibile in CodePlex; per ulteriori informazioni, vedere Esempi del Motore di database di SQL Server.

Per eseguire una procedura come RPC

  1. Costruire un'istruzione SQL che utilizzi la sequenza di escape ODBC CALL. Nell'istruzione vengono utilizzati indicatori di parametro per ogni parametro di input, input/output e di output e per il valore restituito della procedura, se disponibile:

    {? = CALL procname (?,?)}
    
  2. Chiamare SQLBindParameter per ogni istruzione di input, input/output e output e per il valore restituito della procedura, se disponibile.

  3. Eseguire l'istruzione con .

[!NOTA]

Se un'applicazione invia una procedura utilizzando la sintassi Transact-SQL EXECUTE, invece della sequenza di escape ODBC CALL, il driver ODBC di SQL Server passa la chiamata di procedura a SQL Server come istruzione SQL anziché come chiamata RPC. Se viene utilizzata l'istruzione Transact-SQL EXECUTE, inoltre, i parametri di output non vengono restituiti.