修正: クエリを実行するときにエラー メッセージを選択した xml データ型の列で SQL Server 2005:"'? ' は無効な文字、16 進値 0xDC55、」

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

現象

Microsoft SQL Server 2005 では、xml データ型の列を含むテーブルがあるとします。Xml データ型の列を選択するクエリを実行するとエラー メッセージが表示されます。次のシナリオでさまざまなエラー メッセージが表示ことがあります。

シナリオ 1

SQL Server Management Studio でクエリを実行すると、次のエラー メッセージが表示されます。
バッチの実行中にエラーが発生しました。エラー メッセージが: '?' は無効な文字、16 進値 0xDC55、します。

シナリオ 2

SQLOLEDB プロバイダーを使用するアプリケーションでクエリを実行すると、次のエラー メッセージが表示されます。
[DBNETLIB][ConnectionRead (recv())。]一般的なネットワーク エラーが発生しました。ネットワークのマニュアルを確認してください。

シナリオ 3

SQLClient プロバイダーを使用するアプリケーションでクエリを実行すると、次のエラー メッセージが表示されます。

'?'、16 進値 0xDC55 は、無効な文字。

シナリオ 4

SQLNCLI10 プロバイダーを使用するアプリケーションでクエリを実行すると、次のエラー メッセージが表示されます。

TDS ストリームのプロトコル エラー

通信リンクの障害

解決策

累積的な更新情報

SQL Server 2005 Service Pack 2

重要 SQL Server 2005 Service Pack 2 を実行している場合、この修正プログラムを使用する必要があります。

この問題の修正プログラムは、SQL Server 2005 Service Pack 2 の累積的な更新プログラム 11 で初めてリリースされました。この累積的な更新プログラム パッケージの詳細については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。
958735関数形式は、SQL Server 2005 Service Pack 2 の 11 のパッケージを更新します。
注: ビルドは累積的であるため、各新しい修正プログラム リリースには、すべての修正プログラムが含まれていて、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラムの更新プログラムのリリースします。マイクロソフトでは、この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。詳細については、次の文書番号をクリックして、マイクロソフト サポート技術情報の資料をご参照ください。
937137 SQL Server 2005 ビルド SQL Server 2005 Service Pack 2 がリリースされた後にリリースされました。
特定の SQL Server のサービス パックには、Microsoft SQL Server 2005 の修正プログラムが作成されます。SQL Server 2005 Service Pack 2 のインストールには、SQL Server 2005 Service Pack 2 修正プログラムを適用する必要があります。既定では、SQL Server のサービス パックで提供されているすべての修正プログラムは次の SQL Server のサービス パックに含まれます。

SQL Server 2005 Service Pack 3

重要 SQL Server 2005 Service Pack 3 を実行している場合、この修正プログラムを使用する必要があります。


この問題の修正プログラムは、SQL Server 2005 Service Pack 3 の累積的な更新プログラム 1 の後でもリリースされました。この累積的な更新プログラム パッケージの詳細については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。
959195関数形式は、SQL Server 2005 Service Pack 3 の 1 のパッケージを更新します。
注: ビルドは累積的であるため、各新しい修正プログラム リリースには、すべての修正プログラムが含まれていて、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラムの更新プログラムのリリースします。マイクロソフトでは、この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。詳細については、次の文書番号をクリックして、マイクロソフト サポート技術情報の資料をご参照ください。
960598 SQL Server 2005 ビルド SQL Server 2005 Service Pack 3 がリリースされた後にリリースされました。
特定の SQL Server のサービス パックには、Microsoft SQL Server 2005 の修正プログラムが作成されます。SQL Server 2005 Service Pack 3 のインストールには、SQL Server 2005 Service Pack 3 の修正プログラムを適用する必要があります。既定では、SQL Server のサービス パックで提供されているすべての修正プログラムは次の SQL Server のサービス パックに含まれます。

状況

マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。

詳細

についてどのようなファイルが変更されると、このマイクロソフト サポート技術情報資料に記載されている修正プログラムを含む累積的な更新パッケージを適用するすべての前提条件に関する情報をマイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックしてください。
958735関数形式は、SQL Server 2005 Service Pack 2 の 11 のパッケージを更新します。

コール スタック情報

For sqlclient:   at System.Xml.XmlSqlBinaryReader.CheckText(Boolean attr)
at System.Xml.XmlSqlBinaryReader.ImplReadData(BinXmlToken tokenType)
at System.Xml.XmlSqlBinaryReader.ReadDoc()
at System.Xml.XmlSqlBinaryReader.Read()
at System.Xml.XmlWriter.WriteNode(XmlReader reader, Boolean defattr)
at System.Data.SqlTypes.SqlXml.get_Value()
at System.Data.SqlClient.SqlBuffer.get_Value()
at System.Data.SqlClient.SqlDataReader.GetValueInternal(Int32 i)
at System.Data.SqlClient.SqlDataReader.GetValues(Object[] values)
at System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values)
at System.Data.ProviderBase.SchemaMapping.LoadDataRow()
at System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
at DiagClient.DiagUtil.TestDatabaseConnection(String Provider, String Connection, String SQL, Int32 Timeout, DataSet& ds)

For SQLNCLI10:
at System.Data.OleDb.OleDbDataReader.ProcessResults(OleDbHResult hr)
at System.Data.OleDb.OleDbDataReader.GetRowHandles()
at System.Data.OleDb.OleDbDataReader.ReadRowset()
at System.Data.OleDb.OleDbDataReader.Read()
at System.Data.OleDb.OleDbDataReader.HasRowsRead()
at System.Data.OleDb.OleDbDataReader.NextResult()
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
at DiagClient.DiagUtil.TestDatabaseConnection(String Provider, String Connection, String SQL, Int32 Timeout, DataSet& ds)

For SQLOledb:
at System.Data.OleDb.OleDbDataReader.ProcessResults(OleDbHResult hr)
at System.Data.OleDb.OleDbDataReader.GetRowHandles()
at System.Data.OleDb.OleDbDataReader.ReadRowset()
at System.Data.OleDb.OleDbDataReader.Read()
at System.Data.OleDb.OleDbDataReader.HasRowsRead()
at System.Data.OleDb.OleDbDataReader.NextResult()
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
at DiagClient.DiagUtil.TestDatabaseConnection(String Provider, String Connection, String SQL, Int32 Timeout, DataSet& ds)

関連情報

ビルド後は、利用可能な SQL Server の Service Pack 2 の一覧については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。
SQL Server 2005 Service Pack 2 がリリースされた後に表示されるビルドの一覧を937137
SQL Server の増分サービス モデルについては、次の記事番号をクリックして、マイクロソフト サポート技術情報の記事を参照してください。
935897 「の増分サービス モデルは、SQL Server チームは、報告された問題に対する修正プログラムを提供
SQL Server 2005 Service Pack 2 を入手する方法の詳細については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。
913089 SQL Server 2005 の最新の service pack の入手方法
新機能と SQL Server 2005 Service Pack 2 で改善する方法の詳細については、次のマイクロソフト Web サイトを参照してください。SQL Server の更新プログラムの名前付けスキーマの詳細については、マイクロソフト サポート技術情報の資料を参照するのには次の資料番号をクリックします。
更新プログラム パッケージの新しい名前付けスキーマを Microsoft SQL Server ソフトウェアの822499
ソフトウェア更新プログラムの用語の詳細については、次の文書番号をクリックして、マイクロソフト サポート技術情報の資料を参照してください。
824684マイクロソフトのソフトウェア更新プログラムを記述するために使用される一般的な用語説明
プロパティ

文書番号:960555 - 最終更新日: 2017/02/05 - リビジョン: 1

フィードバック