Gespeicherte Prozeduren: Ausführen
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Wenn beim Ausführen von Anweisungen eine gespeicherte Prozedur in der Datenquelle ausgeführt wird (anstelle der Ausführung oder der Vorbereitung einer Anweisung direkt in der Clientanwendung), kann dies folgende Vorteile haben:
Bessere Leistung
Geringere Netzwerkbelastung
Bessere Konsistenz
Höhere Genauigkeit
Zusätzliche Funktionalität
Der OLE DB-Treiber für SQL Server unterstützt drei der Mechanismen, die gespeicherte Prozeduren in SQL Server verwenden, um Daten zurückzugeben:
Jede SELECT-Anweisung in der Prozedur generiert ein Resultset.
Die Prozedur kann Daten über Ausgabeparameter zurückgeben.
Die Prozedur kann einen ganzzahligen Rückgabecode besitzen.
Die Anwendung muss diese Ausgaben von gespeicherten Prozeduren verwenden können.
Die Rückgabe von Ausgabeparametern und Rückgabewerten erfolgt bei verschiedenen OLE DB-Anbietern zu unterschiedlichen Zeitpunkten während der Ergebnisverarbeitung. Der OLE DB-Treiber für SQL Server stellt die Ausgabeparameter und Rückgabecodes beispielsweise erst bereit, nachdem der Consumer die durch die gespeicherte Prozedur zurückgegebenen Resultsets abgerufen oder abgebrochen hat. Die Rückgabecodes und die Ausgabeparameter werden im letzten TDS-Paket vom Server zurückgegeben.
Anbieter verwenden die DBPROP_OUTPUTPARAMETERAVAILABILITY-Eigenschaft, um die Rückgabe von Ausgabeparametern und Rückgabewerten zu melden. Bei dieser Eigenschaft handelt es sich um den DBPROPSET_DATASOURCEINFO-Eigenschaftensatz.
Der OLE DB-Treiber für SQL Server legt die DBPROP_OUTPUTPARAMETERAVAILABILITY-Eigenschaft auf DBPROPVAL_OA_ATROWRELEASE fest, um anzugeben, dass Rückgabecodes und Ausgabeparameter erst zurückgegeben werden, nachdem das Resultset verarbeitet oder freigegeben wurde.