Ausführen von gespeicherten Prozeduren (OLE DB)

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 SQL Server Native Client OLE DB-Anbieter unterstützt drei der Mechanismen, die gespeicherte Prozeduren in SQL Server zum Zurückgeben von Daten verwenden:

  • 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 SQL Server Native Client OLE DB-Anbieter 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 SQL Server Native Client OLE DB-Anbieter 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.

Siehe auch

Andere Ressourcen