2011-03-10 76 views
0

我有一個XML文件,其中有數據,我嘗試使用SSIS傳輸到數據庫。 我的問題是,一些字段中有長文本。 在數據庫中,我將它們設置爲ntext,所以沒有問題。 但SSIS有問題要閱讀它們。 我認爲它與ssis所產生的模式相一致,以此來表示這個字段爲xs:string。 我搜索了淨等心不是一個XS:NTEXT類型(也許我只是didnt發現)... 模式的XML:使用SSIS字符串從XML文件中獲取長字符串到數據庫字符串似乎太短

<?xml version="1.0"?> 
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
<xs:element name="ystfeed"> 
<xs:complexType> 
    <xs:sequence> 
    <xs:element minOccurs="0" maxOccurs="unbounded" name="vespaadd"> 
     <xs:complexType> 
     <xs:sequence> 
      <xs:element minOccurs="0" name="document"> 
      <xs:complexType> 
       <xs:sequence> 
       <xs:element minOccurs="0" name="uri" type="xs:unsignedInt" /> 
       <xs:element minOccurs="0" name="subject" type="xs:string" /> 
       <xs:element minOccurs="0" name="content" type="xs:string" /> 
       <xs:element minOccurs="0" name="bestanswer" type="xs:string" /> 
       <xs:element minOccurs="0" name="nbestanswers"> 
        <xs:complexType> 
        <xs:sequence> 
         <xs:element minOccurs="0" maxOccurs="unbounded" name="answer_item" type="xs:string" /> 
        </xs:sequence> 
        </xs:complexType> 
       </xs:element> 
       <xs:element minOccurs="0" name="cat" type="xs:string" /> 
       <xs:element minOccurs="0" name="maincat" type="xs:string" /> 
       <xs:element minOccurs="0" name="subcat" type="xs:string" /> 
       <xs:element minOccurs="0" name="date" type="xs:unsignedInt" /> 
       <xs:element minOccurs="0" name="res_date" type="xs:unsignedInt" /> 
       <xs:element minOccurs="0" name="vot_date" type="xs:unsignedInt" /> 
       <xs:element minOccurs="0" name="lastanswerts" type="xs:unsignedInt" /> 
       <xs:element minOccurs="0" name="qlang" type="xs:string" /> 
       <xs:element minOccurs="0" name="qintl" type="xs:string" /> 
       <xs:element minOccurs="0" name="language" type="xs:string" /> 
       <xs:element minOccurs="0" name="id" type="xs:string" /> 
       <xs:element minOccurs="0" name="best_id" type="xs:string" /> 
       </xs:sequence> 
       <xs:attribute name="type" type="xs:string" use="optional" /> 
      </xs:complexType> 
      </xs:element> 
     </xs:sequence> 
     </xs:complexType> 
    </xs:element> 
    </xs:sequence> 
</xs:complexType> 
</xs:element> 
</xs:schema> 

回答

1

我找到了解決辦法: 所有我需要做的是所有的長字符串的模式改變爲:

<xs:element minOccurs="0" name="subject"> 
         <xs:simpleType> 
          <xs:restriction base="xs:string"> 
           <xs:maxLength value="4000"/> 
          </xs:restriction> 
         </xs:simpleType> 
        </xs:element> 

由於4000可用於在SSIS字符串的最大長度...... 希望我幫助別人:)