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

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

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

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

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

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

参照

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