コマンドの構文
SQL Server Native Client OLE DB プロバイダーは、DBGUID_SQL マクロで指定されたコマンド構文を認識します。 OLE DB プロバイダー SQL Server Native Clientの場合、指定子は ODBC SQL、ISO、Transact-SQL の組み合が有効な構文であることを示します。 たとえば、次の SQL ステートメントでは、ODBC SQL のエスケープ シーケンスを使用して、LCASE 文字列関数を指定しています。
SELECT customerid={fn LCASE(CustomerID)} FROM Customers
LCASE 関数は、大文字をすべて小文字に変換した文字列を返します。 ISO の文字列関数 LOWER も同じ操作を実行します。つまり、次の SQL ステートメントは、上記の ODBC ステートメントと同義の ISO ステートメントになります。
SELECT customerid=LOWER(CustomerID) FROM Customers
SQL Server Native Client OLE DB プロバイダーは、コマンドのテキストとして指定された場合、ステートメントのいずれかの形式を正常に処理します。
ストアド プロシージャ
SQL Server Native Client OLE DB プロバイダー コマンドを使用してSQL Server ストアド プロシージャを実行する場合は、コマンド テキストで ODBC CALL エスケープ シーケンスを使用します。 SQL Server Native Client OLE DB プロバイダーは、コマンド処理を最適化するために、SQL Serverのリモート プロシージャ 呼び出しメカニズムを使用します。 たとえば次のような場合、Transact-SQL ステートメント形式ではなく、ODBC SQL ステートメントをコマンド テキストとして使用することをお勧めします。
ODBC SQL
{call SalesByCategory('Produce', '1995')}
Transact-SQL
EXECUTE SalesByCategory 'Produce', '1995'