0

こんにちは私はxml文字列を持っています

DECLARE @XmlQue     NTEXT

SET @XmlQue='<?xml version="1.0" encoding="UTF-16"?><Template TId="1">
       <QueInfo QId="1" QDetails="Are you " IsYes="Yes" IsNo="No" Eligibleyes="Y" Eligibleno="N"/>
       <QueInfo QId="2" QDetails=" राज्य " IsYes="Yes" IsNo="No" Eligibleyes="Y" Eligibleno="N"/>
     </Template>'

一部の列にNTEXTデータ型のテーブルにデータを挿入したい

私は次の挿入ステートメントを書きました。

INSERT INTO ExpertSystem_Master 
    SELECT QIdx,@TemplateId,QDetailsx,IsYesx,IsNox,Eligibleyesx,Eligiblenox,0,0
    FROM 
    OPENXML(@XmlHdl,'/Template/QueInfo',1)
    WITH
    (    QIdx           INT '@QId',
         QDetailsx      Ntext '@QDetails',
         IsYesx         Ntext  '@IsYes', 
         IsNox          Ntext  '@IsNo', 
         Eligibleyesx   CHAR(1) '@Eligibleyes',
         Eligiblenox    CHAR(1) '@Eligibleno'   
    )

データはテーブルに挿入されますが、問題は「राज्य」を設定する代わりに、データが「?????」として挿入されることです。

データを直接挿入しようとすると、正しく挿入されます。問題は、OPENXMLでデータを解析しているときに発生します。

誰か助けてもらえますか?私は何かが足りないのですか?

前もって感謝します。

4

1 に答える 1

0

テキストの前にNを付けます。例:

SET @XmlQue=N'<?xml version="1.0" encoding="UTF-16"?><Template TId="1"> 
       <QueInfo QId="1" QDetails="Are you " IsYes="Yes" IsNo="No" Eligibleyes="Y" Eligibleno="N"/> 
       <QueInfo QId="2" QDetails=" राज्य " IsYes="Yes" IsNo="No" Eligibleyes="Y" Eligibleno="N"/> 
     </Template>' 
于 2012-07-18T06:33:03.233 に答える