Befehlsyntax
Der SQL Server Native Client OLE DB-Anbieter erkennt vom Makro DBGUID_SQL angegebene Befehlssyntax. Für den SQL Server Native Client OLE DB-Anbieter gibt der Bezeichner an, dass ein Zusammenschluss von ODBC SQL, ISO und Transact-SQL eine gültige Syntax ist. Die folgende SQL-Anweisung beispielsweise verwendet eine ODBC SQL-Escapesequenz, um die LCASE-Zeichenfolgenfunktion anzugeben:
SELECT customerid={fn LCASE(CustomerID)} FROM Customers
LCASE gibt eine Zeichenfolge zurück und konvertiert alle Großbuchstaben in ihre kleingeschriebenen Entsprechungen. Die ISO-Zeichenfolgenfunktion LOWER führt denselben Vorgang durch, daher ist die folgende SQL-Anweisung eine ISO-Entsprechung der oben aufgeführten ODBC-Anweisung:
SELECT customerid=LOWER(CustomerID) FROM Customers
Der SQL Server Native Client OLE DB-Anbieter verarbeitet beide Formen der Anweisung erfolgreich, wenn sie für einen Befehl als Text angegeben wird.
Gespeicherte Prozeduren
Wenn eine in SQL Server gespeicherte Prozedur mit einem Befehl des SQL Server Native Client OLE DB-Anbieters ausgeführt wird, verwenden Sie die ODBC CALL-Escapesequenz im Befehlstext. Der SQL Server Native Client OLEDB-Anbieter verwendet dann den Remoteprozeduraufrufsmechanismus von SQL Server, um die Befehlsverarbeitung zu optimieren. Zum Beispiel ist die folgende ODBC SQL-Anweisung bevorzugter Befehlstext über das Transact-SQL-Formular:
ODBC SQL
{call SalesByCategory('Produce', '1995')}
Transact-SQL
EXECUTE SalesByCategory 'Produce', '1995'