KB2563924 - 修正: SQLPutData 関数が SQL Server 2008 R2 で TVP にSQL_NULL_DATA値を挿入すると、「受信表形式データ ストリーム (TDS) プロトコル ストリームが正しくありません」というエラーが発生する

適用先
SQL Server 2008 R2

マイクロソフトでは、Microsoft SQL Server 2008 R2 の修正を 1 つのダウンロード可能なファイルとして配布しています。 修正は累積的であるため、新しいリリースの修正には、以前のリリースの SQL Server 2008 R2 の修正に含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。

現象

たとえば次のようなシナリオを考えてみます。

  • Microsoft SQL Server 2008 R2 を実行しているコンピューターがあります。
  • SQL Server 2008 R2 Native Client ODBC ドライバーを使用するクライアント アプリケーションを実行して、テーブル値パラメーターを実行時のデータ列としてバインドします。
  • クライアント アプリケーションは SQLPutData 関数を呼び出して、テーブル値パラメーターを SQL_NULL_DATA 値に変更します。

このシナリオでは、クライアント アプリケーションが SQLPutData 関数を呼び出さず、次のエラー メッセージが表示されます。

注

[28000] - [Microsoft][SQL Server Native Client 10.0][SQL Server] 着信表形式データ ストリーム (TDS) プロトコル ストリームが正しくありません。 ストリームが予期せず終了しました

      

原因

この問題は、ODBC ドライバーがSQL_NULL_DATA値のデータ長をテーブル値パラメーターに送信しないために発生します。

解決策

この問題を解決するには、SQL Server 2008 R2 Native Client がインストールされているコンピューターで次の修正プログラムを適用します。

累積的な更新プログラムの情報

SQL Server 2008 R2 Service Pack 1

この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム 1 で最初にリリースされました。 この累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2544793 SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム パッケージ 1 注: ビルドは累積的であるため、新しくリリースされた各修正プログラムには、以前の SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2567616 SQL Server 2008 R2 Service Pack 1 以降にリリースされた SQL Server 2008 R2 のビルド

SQL Server 2008 R2

この問題の修正プログラムは、累積的な更新プログラム 8 で最初にリリースされました。 SQL Server 2008 R2 用のこの累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2534352 SQL Server 2008 R2 の累積的な更新プログラム パッケージ 8 (注: ビルドは累積的であるため、新しい修正プログラムの各リリースには、以前の SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

981356 SQL Server 2008 R2 のリリース以降にリリースされた SQL Server 2008 R2 のビルド

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

SQLPutData 関数の詳細については、次の MSDN Web サイトを参照してください。

SQLPutData 関数に関する一般情報
        
[実行時のデータ] 列の使用方法の詳細については、次の MSDN Web サイトを参照してください。

実行時のデータ列の使用方法テーブル値パラメーターの詳細については、次の MSDN Web サイトを参照してください。

テーブル値パラメーターに関する一般情報
SQL Server の増分サービス モデルの関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。

935897 報告された問題に対する修正プログラムを提供する SQL Server チームの増分サービス モデル (ISM) について

SQL Server の更新プログラムの命名方式の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。

822499 Microsoft SQL Server ソフトウェア更新プログラム パッケージの新しい命名スキーマソフトウェア更新プログラムに関する用語の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明