次の方法で共有


複数バージョン間の互換性

バージョン間の競合は、2008 年SQL Serverより前のSQL Serverのクライアント インスタンスまたはサーバー インスタンスがテーブル値パラメーターを処理すると予想される場合に発生する可能性があります。

一般に、テーブル値パラメーター機能は、SQL Server 2008 (以降) サーバーに接続されている 2008 クライアント (SQL Server Native Client 10.0 を使用) 以降SQL Serverでのみ使用できます。 カタログ関数の結果セットの新しい列は、SQL Server 2008 以降のサーバーに接続されている場合にのみ存在します。

以前のバージョンの SQL Server Native Client でコンパイルされたクライアント アプリケーションが、テーブル値パラメーターを必要とするステートメントを実行した場合、サーバーはデータ変換エラーによってこの条件を検出し、ODBC はこれを SQLSTATE 07006 として返し、"Restricted data type attribute violation" というメッセージを返します。

SQL Server Native Client 10.0 以降でコンパイルされたクライアント アプリケーションが、SQL Server 2008 より前のサーバー インスタンスに接続されているときにテーブル値パラメーターを使用しようとすると、SQL Server Native Clientではこれを検出し、SQLBindCol、SQLBindParameter、SQLSetDescFields、SQLSetDescRec の呼び出しは SQLSTATE 07006 で失敗し、"Restricted data type attribute violation (この接続のSQL Serverのバージョンはテーブル値パラメーターをサポートしていません)" というメッセージが表示されます。

参照

テーブル値パラメーター (ODBC)