Freigeben über


Aufrufen gespeicherter Prozeduren (ODBC)

Wenn eine SQL-Anweisung eine gespeicherte Prozedur mithilfe der ODBC CALL-Escapeklausel aufruft, sendet der Microsoft SQL Server-Treiber die Prozedur mithilfe des RPC-Mechanismus (Remote Stored Procedure Call) an SQL Server. RPC-Anforderungen umgehen einen Großteil der Anweisungsanalyse und Parameterverarbeitung in SQL Server und sind schneller als die Verwendung der Transact-SQL EXECUTE-Anweisung.

Eine Beispielanwendung, die dieses Feature veranschaulicht, finden Sie unter Prozessrücklaufcodes und Ausgabeparameter (ODBC).For a sample application that demonstrates this feature, see Process Return Codes and Output Parameters (ODBC).

So führen Sie eine Prozedur als RPC aus

  1. Erstellen Sie eine SQL-Anweisung, die die ODBC CALL-Escapesequenz verwendet. Die Anweisung verwendet Parametermarkierungen für jeden Eingabe-, Eingabe-/Ausgabe- und Ausgabeparameter sowie für den Rückgabewert der Prozedur (falls vorhanden):

    {? = CALL procname (?,?)}  
    
  2. Rufen Sie SQLBindParameter für jeden Eingabe-, Eingabe-/Ausgabe- und Ausgabeparameter sowie für den Rückgabewert der Prozedur (falls vorhanden) auf.

  3. Führen Sie die Anweisung mit SQLExecDirect aus.

Hinweis

Wenn eine Anwendung eine Prozedur unter Verwendung der Transact-SQL EXECUTE-Syntax (im Gegensatz zur ODBC-AUFRUF-Escapesequenz) sendet, übergibt der SQL Server-ODBC-Treiber den Prozeduraufruf an SQL Server als SQL-Anweisung und nicht als RPC. Außerdem werden Ausgabeparameter nicht zurückgegeben, wenn die Transact-SQL EXECUTE-Anweisung verwendet wird.

Siehe auch

Ausführen von Gespeicherten Prozeduren –Themen (How-to-Topics, ODBC)
Batchverarbeitung gespeicherter Prozeduraufrufe
Ausführen gespeicherter Prozeduren
Aufrufen einer gespeicherten Prozedur
Verfahren