Announcement

Collapse
No announcement yet.

XML Unterstützung des SQL Servers 2000

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XML Unterstützung des SQL Servers 2000

    Morgen. Ich hab folgendes Problem: Über eine ADODataSet schick ich ein SQL-SELECT mit der FOR XML –Klausel an den MS SQL Server 2000. Dieser gibt eine eine Datenmenge
    in XML-Notation zurück.
    Der SELECT könnte für die Beispieldatenbank Northwind z.b. so lauten:
    Select * from Categories for xml auto
    Der SQL Server gibt jetzt ein virtuelles XML-Dokument zurück und das er in einer sog, CLOB-Spalte speichert.
    1. Frage:
    Was ist eine CLOB-Spalte?

    Nun hab ich in Delphi dieses v. XML-Dokument in meine ADODataSet-Komponente drin und speicher es mit dem Aufruf ADODataSet1.SaveToFile('c:\xml_Test',pfXML);
    Resultat: funktioniert
    Aber wenn ich das File auf dem Laufwerk C jetzt mal umbenenne in xml_test.xml und es per Doppelklick öffne sehe ich das:

    <PRE><xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
    - <s:Schema id="RowsetSchema">
    - <s:ElementType name="row" content="eltOnly" rs:updatable="true">
    - <s:AttributeType name="c0" rs:name="XML_F52E2B61-18A1-11d1-B105-00805F49916B" rs:number="1" rs:nullable="true">
    <s:datatype dt:type="bin.hex" dt:maxLength="2147483647" rs:long="true" />
    </s:AttributeType>
    <s:extends type="rs:rowbase" />
    </s:ElementType>
    </s:Schema>
    - <rs:data>
    <z:row c0="440a430061007400650067006f00720079004900440044 0c430061007400650067006f00720079004e0061006d006500 440b4400650073006300720069007000740069006f006e0044 075000690063007400750072006500440a4300610074006500 67006f00720069006500730001050201420100000002021112 00420065007600650072006100670065007300020318560000 0053006f00660074002006400720069006e006b0073002c002 00063006f00660066006500650073002c00200074006500610 073002c00200062006500650072003002c00200061006e0064 00200061006c00650073000204711200640062006f0062006a 006500630074002f000371140043006100740050067006f007 200690065007300037102005b0003710200400003711400430 061007400650067006f007200790049004400037104003d … hier gehts noch wieter/>
    </rs:data>
    </xml></PRE>

    Da dürfte eigentlich jedem klar werden das das nicht das ist was ich eigentlich sehen will.
    Die Frage ist nun wieso kommt das so raus und wie kann man das ändern. Ich hätte gern ein XML-Dokument mit dem mann auch was anfangen kann.
    Einen Hinweis kann ich noch geben und zwar sollte man ein mal ein Auge auf diese Zeile werfen:
    <s:datatype dt:type="bin.hex" dt:maxLength="2147483647" rs:long="true" />

    Wäre über jeden Hinweis dankbar.
    Kay
Working...
X