現在オフラインです。再接続するためにインターネットの接続を待っています

SQL Server 2005 で union 要素を含んでいる XML データに対して XQuery を実行すると、不適切な型の共用体の要素が返されます

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:914596
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。

現象
次のシナリオを検討してください。値を指定する、 xsi:type 属性を 共用体 要素。次に、XQuery を含む XML データに対してクエリを実行する使用、 共用体 要素。このシナリオでは、クエリの不適切な型を返しますが 共用体 要素。
原因
この問題が発生するための値、 xsi:type 属性の 共用体 要素は、プリミティブの基本型の値になります。XML シリアル化を実際の値が設定されている、プリミティブの基本型の中には、 xsi:type 属性が返されます。
解決方法

サービス パックの情報

この問題を解決するには、Microsoft SQL Server 2005年の最新の service pack を入手します。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
913089 SQL Server 2005 の最新の service pack を入手する方法
状況
マイクロソフトでは、この「対象」に記載されているマイクロソフト製品の問題として認識しています。 この問題は、最初 Microsoft SQL Server 2005 Service Pack 1 で修正済みです。
詳細

問題の再現手順

  1. SQL Server Management Studio を開き、SQL Server 2005 のインスタンスに接続します。
  2. クリックしてください。 新しいクエリ ツールバーのします。
  3. クエリ エディターで、次のコードを貼り付け、F5 キーを押します。
    use masteruse masterif (db_id('MyDatabase') is not null)	drop database MyDatabasegocreate database MyDatabasegouse MyDatabasegoCREATE XML SCHEMA COLLECTION unionType AS N'<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 	targetNamespace="MyDatabase" xmlns:tn="MyDatabase">		<xs:simpleType name="myInt">		<xs:restriction base="xs:integer">			<xs:maxInclusive value="1000"/>		</xs:restriction>	</xs:simpleType>		<xs:element name="s">		<xs:simpleType>			<xs:union memberTypes="xs:double tn:myInt"/>		</xs:simpleType>	</xs:element>	</xs:schema>'goCREATE TABLE testTable ( PK int identity primary key, xmlCol XML(unionType))goinsert into testTable values ('<tn:s xmlns:tn="MyDatabase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="tn:myInt">123</tn:s>')select xmlCol from testTablegoSELECT xmlCol.query('/') FROM testTablego
    期待される結果を次に示します。
    <tn:s xmlns:tn="MyDatabase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="tn:myInt">123</tn:s><tn:s xmlns:tn="MyDatabase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="tn:myInt">123</tn:s>
    ただし、実際の結果を次に示します。
    <tn:s xmlns:tn="MyDatabase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="tn:myInt">123</tn:s><tn:s xmlns:tn="MyDatabase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p1="http://www.w3.org/2001/XMLSchema" xsi:type="p1:decimal">123</tn:s>

警告: この記事は自動翻訳されています

プロパティ

文書番号:914596 - 最終更新日: 12/09/2015 04:40:27 - リビジョン: 4.0

  • kbnosurvey kbarchive kbprb kbexpertiseadvanced kbsql2005xml kbsql2005presp1fix kbsql2005sp1fix kbmt KB914596 KbMtja
フィードバック