私は下にいます:
Windows XP
MSSQL 2005
Rails 3.0.9
activerecord-sqlserver-adapter
tinytds
xml 型のフィールドのコンテンツを取得しようとすると、xml 文字列が切り取られるという問題が発生します。
助けてくれてありがとう
これは DB に保存されている xml です (ロシア文字で申し訳ありません)。
<application>
<patent-type>Заявка на винахід</patent-type>
<title>WAY</title>
<native-number>inner123</native-number>
<inid51 type="array" />
<inid54>
<x54-title-ukr>WAY</x54-title-ukr>
<x54-title-rus />
<x54-title-eng />
</inid54>
<applicants type="array">
<applicant order="1">
<app-person>physical</app-person>
<app-name-ukr>Drobyazko Ob Ob</app-name-ukr>
<app-addr-ukr>Ukrainka</app-addr-ukr>
<app-country>UA</app-country>
<app-kzo />
<app-name-rus />
<app-addr-rus />
<app-name-eng />
<app-addr-eng />
</applicant>
<applicant order="2">
<app-person>physical</app-person>
<app-name-ukr>Stetsenko Ser Vol</app-name-ukr>
<app-addr-ukr>Kyiv</app-addr-ukr>
<app-country>UA</app-country>
<app-kzo />
<app-name-rus />
<app-addr-rus />
<app-name-eng />
<app-addr-eng />
</applicant>
</applicants>
<inventors type="array">
<inventor order="1">
<inv-name-ukr>Drobyazko Ob Ob</inv-name-ukr>
<inv-addr-ukr>Ukrainka</inv-addr-ukr>
<inv-country>UA</inv-country>
<inv-publ>Ні</inv-publ>
<inv-name-rus />
<inv-addr-rus />
<inv-name-eng />
<inv-addr-eng />
</inventor>
<inventor order="2">
<inv-name-ukr>Stetsenko Ser Vol</inv-name-ukr>
<inv-addr-ukr>Kyiv</inv-addr-ukr>
<inv-country>UA</inv-country>
<inv-publ>Ні</inv-publ>
<inv-name-rus />
<inv-addr-rus />
<inv-name-eng />
<inv-addr-eng />
</inventor>
</inventors>
<priorities>
<priority-cfg>
<type>prr-none</type>
<prr-date />
<prr-numb />
<is-priority-3x />
<is-priority-62 />
<is-priority-66 />
</priority-cfg>
<priority-3x type="array" />
<priority-62 type="array" />
<priority-66 type="array" />
</priorities>
<inid86>
<x86-numb />
<x86-date />
</inid86>
<inid87>
<x87-numb />
<x87-date />
</inid87>
<representative>
<repr-name>Drobyazko Ooo KKK</repr-name>
<repr-regnum>200</repr-regnum>
<repr-person>legal</repr-person>
</representative>
<address>
<addr-country>UA</addr-country>
<addr-zipcode />
<addr-region />
<addr-town-type>м.</addr-town-type>
<addr-town-val>Kyiv</addr-town-val>
<addr-rayon />
<addr-street-type>вул.</addr-street-type>
<addr-street-val />
<addr-building-type>буд.</addr-building-type>
<addr-building-val />
<addr-room-type>кв.</addr-room-type>
<addr-room-val />
<addr-addressee-person>physical</addr-addressee-person>
<addr-addressee>Drobyazko Dkkd Lll</addr-addressee>
<addr-tel>2323232</addr-tel>
<addr-fax />
<addr-email />
<full-address>м. Kyiv, UA; Drobyazko Dkkd Lll</full-address>
</address>
<flags>
<force-publication />
<patent-foreign />
</flags>
</application>
Eclaim.find(1).app_xmlを使用して、上記のフィールドの内容を取得しています。また、ファイルFile.open("c:/w.txt", 'wb') { |f|
に xml フィールドを書き込んでいます。f.write Eclaim.find(100003).app_xml }
ファイルの内容 (サイズ2070バイト) は次 のとおりです。
<application><patent-type>Заявка на винахід</patent-type><title>WAY</title><native-number>inner123</native-number><inid51 type="array"/><inid54><x54-title-ukr>WAY2</x54-title-ukr><x54-title-rus/><x54-title-eng/></inid54><applicants type="array"><applicant order="1"><app-person>physical</app-person><app-name-ukr>Drobyazko Ob Ob</app-name-ukr><app-addr-ukr>Ukrainka</app-addr-ukr><app-country>UA</app-country><app-kzo/><app-name-rus/><app-addr-rus/><app-name-eng/><app-addr-eng/></applicant><applicant order="2"><app-person>physical</app-person><app-name-ukr>Stetsenko Ser Vol</app-name-ukr><app-addr-ukr>Kyiv</app-addr-ukr><app-country>UA</app-country><app-kzo/><app-name-rus/><app-addr-rus/><app-name-eng/><app-addr-eng/></applicant></applicants><inventors type="array"><inventor order="1"><inv-name-ukr>Drobyazko Ob Ob</inv-name-ukr><inv-addr-ukr>Ukrainka</inv-addr-ukr><inv-country>UA</inv-country><inv-publ>Ні</inv-publ><inv-name-rus/><inv-addr-rus/><inv-name-eng/><inv-addr-eng/></inventor><inventor order="2"><inv-name-ukr>Stetsenko Ser Vol</inv-name-ukr><inv-addr-ukr>Kyiv</inv-addr-ukr><inv-country>UA</inv-country><inv-publ>Ні</inv-publ><inv-name-rus/><inv-addr-rus/><inv-name-eng/><inv-addr-eng/></inventor></inventors><priorities><priority-cfg><type>prr-none</type><prr-date/><prr-numb/><is-priority-3x/><is-priority-62/><is-priority-66/></priority-cfg><priority-3x type="array"/><priority-62 type="array"/><priority-66 type="array"/></priorities><inid86><x86-numb/><x86-date/></inid86><inid87><x87-numb/><x87-date/></inid87><representative><repr-name>Drobyazko Ooo KKK</repr-name><repr-regnum>200</repr-regnum><repr-person>legal</repr-person></representative><address><addr-country>UA</addr-country><addr-zipcode/><addr-region/><addr-town-type>м.</addr-town-type><addr-town-val>Kyiv</addr-town-val><addr-rayon/><addr-street-type>вул.</addr-street-type><addr-street-val/><addr-building-type>буд.</addr-building-type><addr-building-val/><addr-room-type>кв.</addr-room-type><addr-room-val/><addr-addressee-person>physical</addr-addressee-
Rails が xml フィールドの内容を2070バイトに切り詰めているようです。
誰か助けてくれませんか?