Mit Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
316005 HOW TO: Import XML into SQL Server with the XML Bulk Load Component

Inhalt

Zusammenfassung

In XML dargestellte Daten können mit der XML Massenkopier-Komponente in eine SQL Server 2000-Datenbank geladen werden. Dieser Artikel beschreibt die Schritte, nach denen Sie vorgehen müssen, um XML-Daten in eine Tabelle zu laden, die bereits in der Datenbank vorhanden ist.


Voraussetzungen

Um nach den Schritten in diesem Artikel vorzugehen, benötigen Sie folgendes:

  • Web Release 1 von XML für SQL Server 2000 (SQLXML), oder höher.

Erforderliches Vorwissen:

  • Kenntnisse in XML.

Erstellen einer Tabelle zum Empfangen der Daten

Gehen Sie folgendermaßen vor, um eine Tabelle zu erstellen, mit der Sie die Daten empfangen können, die von der XML Massenkopier-Komponente verarbeitet werden.

  1. Erstellen Sie in SQL Server eine Datenbank mit dem Namen MyDatabase.

  2. Öffnen Sie SQL Query Analyzer und ändern Sie die Datenbank in MyDatabase.

  3. Erstellen Sie in MyDatabase eine Tabelle Customer, indem Sie die folgende SQL-Anweisung in Query Analyzer ausführen:

    USE MyDatabase
    CREATE TABLE Customer (
    CustomerId INT PRIMARY KEY,
    CompanyName NVARCHAR(20),
    City NVARCHAR(20))

Erstellen der XML-Datenquellendatei

Dies ist der Beispielcode für die Datenquelle. Fügen Sie diese XML in den Editor ein und speichern Sie die Datei als C:\Customers.xml.

<ROOT>
<Customers>
<CustomerId>1111</CustomerId>
<CompanyName>Sean Chai</CompanyName>
<City>NY</City>
</Customers>
<Customers>
<CustomerId>1112</CustomerId>
<CompanyName>Tom Johnston</CompanyName>
<City>LA</City>
</Customers>
<Customers>
<CustomerId>1113</CustomerId>
<CompanyName>Institute of Art</CompanyName>
</Customers>
</ROOT>

Erstellen der Zuordnungsschema-Datei


Die nächste Datei dient dazu, das Format der Datenquellen-XML dem Format der Tabelle Customer in der Datenbank zuzuordnen. Fügen Sie diese XML in den Editor ein und speichern Sie die Datei als C:\Customermapping.xml.

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:xml:datatypes"
xmlns:sql="urn:schemas-microsoft-com:xml-sql" >

<ElementType name="CustomerId" dt:type="int" />
<ElementType name="CompanyName" dt:type="string" />
<ElementType name="City" dt:type="string" />

<ElementType name="ROOT" sql:is-constant="1">
<element type="Customers" />
</ElementType>

<ElementType name="Customers" sql:relation="Customer">
<element type="CustomerId" sql:field="CustomerId" />
<element type="CompanyName" sql:field="CompanyName" />
<element type="City" sql:field="City" />
</ElementType>

</Schema>

Erstellen eines VBScript-Programms zum Ausführen der XML Massenkopier-Komponente

Dieses Skript wird von der XML Massenkopier-Komponente verwendet, um die drei im Abschnitt "Erstellen der XML-Datenquellendatei" erstellten Datensätze in die Tabelle einzufügen, die Sie im Abschnitt "Erstellen einer Tabelle zum Empfangen der Daten" unter Verwendung des unter "Erstellen der Zuordnungsschema-Datei" beschriebenen Zuordnungsschemas erstellt haben. Fügen Sie diesen VBScript-Code in den Editor ein und speichern Sie die Datei als C:\Insertcustomers.vbs.

Set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")
objBL.ConnectionString = "provider=SQLOLEDB.1;data source=MyServer;database=MyDatabase;uid=MyAccount;pwd=MyPassword"
objBL.ErrorLogFile = "c:\error.log"
objBL.Execute "c:\customermapping.xml", "c:\customers.xml"
Set objBL = Nothing

Ändern Sie die ConnectionString-Informationen in der zweiten Zeile des Codes so, dass das Skript mit Ihrer SQL Server-Installation funktioniert. Wenn Sie die Zeile 2 nicht entsprechend ändern, wird nach der Ausführung des Skripts die folgende Fehlermeldung angezeigt:

Fehler beim Herstellen der Verbindung mit der Datenquelle

Ausführen des VBScript-Programms


Führen Sie das VBScript-Programm C:\Insertcustomers.vbs aus, um die drei Kundendatensätze in die Tabelle Customer einzufügen.

Funktionsprüfung

Wechseln Sie in SQL Query Analyzer zur Datenbank MyDatabase und führen Sie anschließend diese Abfrage aus:

SELECT * FROM Customer

Beachten Sie, dass die drei unter "Erstellen der XML-Datenquellendatei" erstellten Datensätze nun in der Tabelle Customer enthalten sind.

Alternatives Verfahren

Die XML Massenkopier-Komponente verfügt über folgende Funktionen:

  • Zuordnen eines XML-Dokuments zu mehreren Tabellen unter Verwendung einer in der XML-Schemadatei angegebenen Beziehung.

  • Erzeugen von Tabellenschemas vor dem Massenkopieren.

  • Massenkopieren von einem Datenstrom.

  • Massenkopieren in Überlaufspalten.

Informationsquellen

SQLXML-Onlinedokumentation; Thema: "Massenkopieren von XML-Daten"

Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern

Schulungen erkunden >

Neue Funktionen als Erster erhalten

Microsoft Insider beitreten >

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×