Vorgehensweise: Aufrufen gespeicherter Prozeduren (ODBC)
Wenn eine SQL-Anweisung eine gespeicherte Prozedur mit der ODBC CALL-Escape-Klausel aufruft, sendet der SQL Server-Treiber die Prozedur mit dem RPC-Mechanismus (Remote Stored Procedure Call) an SQL Server. RPC-Anforderungen umgehen größtenteils das Analysieren der Anwendungen und die Parameterverarbeitung in SQL Server und sind schneller als die Transact-SQL EXECUTE-Anweisung.
Eine Beispielanwendung, die diese Funktion veranschaulicht, finden Sie im Beispiel zum Verarbeiten von Rückgabecodes und Ausgabeparametern, verfügbar auf CodePlex; weitere Informationen finden Sie unter Beispiele für SQL Server Database Engine.
So führen Sie eine Prozedur als RPC aus
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 Prozedurrückgabewert (falls zutreffend):
{? = CALL procname (?,?)}
Rufen Sie SQLBindParameter für jeden Eingabe-, Eingabe/Ausgabe- und Ausgabeparameter sowie für den Prozedurrückgabewert (falls zutreffend) auf.
Führen Sie die Anweisung mit SQLExecDirect aus.
Hinweis |
---|
Wenn eine Anwendung eine Prozedur mit der Transact-SQL-EXECUTE-Syntax (statt mit der ODBC CALL-Escapesequenz) übermittelt, gibt der SQL Server-ODBC-Treiber den Prozeduraufruf an SQL Server als SQL-Anweisung statt als RPC weiter. Darüber hinaus werden Ausgabeparameter nicht zurückgegeben, wenn die Transact-SQL-EXECUTE-Anweisung verwendet wird. |