Die Verwendung von Altova-Tools zur Verarbeitung von XML-Daten in der SQL Azure-Cloud

In einem früheren Beitrag haben wir die Verbindung zu Microsoft SQL Azure-Datenbanken mit Altova DatabaseSpy behandelt und die Vergleichsmöglichkeiten von Datenbankschemata und -inhalten zwischen einer lokalen Datenbank und derselben Datenbank gezeigt, die zu SQL Azure migriert wurde. In diesem Beitrag werden wir eine andere Methode verwenden, um eine bestehende Tabelle zu SQL Azure zu migrieren, und Ihnen einige Tricks zeigen, die Sie mit XML in der Cloud anwenden können. Wir haben damit begonnen, ein neues Datenbankschema in SQL Azure zu erstellen. Anschließend haben wir ein DatabaseSpy-Projekt mit einer Verbindung zu einer lokalen Kopie von SQL Server Express erstellt, die die Beispiel-Datenbank AdventureWorks verwendet, und eine zweite Verbindung zu unserem neuen SQL Azure-Schema.

Die AdventureWorks-Datenbank enthält eine Tabelle namens "JobCandidate", die einige XML-Daten enthält, die wir für ein Modell unserer XML-Inhalte für SQL Azure verwenden werden.

Wir können eine CREATE-Anweisung für die bestehende Tabelle erstellen, die als Grundlage für die SQL Azure-Version dienen kann.

Wir müssen diese Anweisung anpassen, damit sie in unserer SQL Azure-Datenbank ausgeführt werden kann. Neben der Änderung der Datenbank- und Schemanamen werden wir die Fremdschlüsselbeziehung zur Tabelle "Employee" entfernen, da unsere neue Datenbank keine Tabelle mit diesem Namen enthält. Außerdem unterstützt SQL Azure das Schlüsselwort "CONTENT" nicht, daher werden wir auch dieses entfernen.

Nachdem wir sichergestellt haben, dass das Eigenschaftenfenster für die überarbeitete CREATE-Anweisung auf die SQL Azure-Datenbank verweist, können wir die Anweisung ausführen. Wenn wir die Datenbank aktualisieren und unsere Ansicht im Hilfenfenster des Online-Browsers erweitern, können wir die neue, leere Tabelle sehen.

Ein Datenvergleich zwischen der bestehenden Tabelle und der neuen Tabelle ermöglicht es uns, ein Skript zu erstellen, um Daten in unsere neue Tabelle in der SQL Azure-Cloud zu übertragen. Dies ähnelt dem Datenvergleich, über den wir in unserem vorherigen Beitrag über SQL Azure geschrieben haben, mit dem Unterschied, dass wir anstelle der direkten Zusammenführung der Daten das Zusammenführungsskript speichern werden.

Unser erster Versuch, das Zusammenführungsskript auszuführen, scheiterte. Es wurde eine Fehlermeldung angezeigt, die besagte, dass SQL Azure keine Werte in die neue Tabelle einfügen kann, wenn IDENTITY_INSERT auf "OFF" eingestellt ist. Wir können eine Zeile zum Zusammenführungsskript hinzufügen, um IDENTITY_INSERT auf "ON" zu setzen, und das Skript erneut ausführen:

Als Nächstes können wir eine SELECT-Abfrage ausführen, um die Daten anzuzeigen, die erfolgreich hochgeladen wurden.

Das Fenster "Data Inspector" von DatabaseSpy ermöglicht es uns, den Inhalt einer Spalte leichter zu überprüfen, und ist ideal für die Analyse von XML-Dokumenten, die in der Spalte "Resume" der neuen Tabelle "JobCandidate" gespeichert sind.

Bearbeitung von XML-Daten mit XMLSpy Wenn Sie XML-Daten in einer SQL Azure-Datenbank überarbeiten, bearbeiten, aktualisieren oder validieren müssen, Altova XMLSpy bietet umfangreichere Funktionen zur XML-Bearbeitung als DatabaseSpy. Wir können uns von XMLSpy mit unserer SQL Azure-Datenbank verbinden und eine SELECT-Abfrage direkt von dort ausführen XMLSpy-Fenster für Datenbankabfragen. XMLSpy ermöglicht es uns, jede XML-Zeile direkt zur Bearbeitung zu öffnen, wobei wir Zugriff auf erweiterte Funktionen zur XML-Bearbeitung haben.

Selbstverständlich stehen alle bekannten Funktionen der Textansicht und der Tabellenansicht von XMLSpy zur Verfügung.

Nachdem Sie Ihre Änderungen vorgenommen haben, speichert die Option "Datei / Speichern" in XMLSpy das überarbeitete XML-Dokument in derselben Zeile der Tabelle "JobCandidate" in der SQL Azure-Datenbank in der Cloud.

XML-Daten mit XQuery verarbeiten Sie können den XMLSpy XQuery-Editor verwenden, der über integrierte Kenntnisse der XQuery-Syntax und kontextsensitive Hilfsmittel zur Eingabe verfügt, um XQuery-Anweisungen zu erstellen, die die XML-Daten in Ihrer SQL Azure-Datenbank verarbeiten. Die folgende XQuery-Anweisung extrahiert und gibt die Home-Adressen aus den XML-Lebensläufen zurück, bei denen die JobCandidateID kleiner als 7 ist.

Die XQuery-Anweisung kann im Fenster für Datenbankabfragen ausgeführt werden, wobei die Ergebnisse sofort in XMLSpy verfügbar sind und bearbeitet werden können.

Selbstverständlich kann das XQuery-Ergebnis auch im Textmodus oder im Tabellenmodus bearbeitet werden.

Sie können die Ergebnisse einer Abfrage entweder im Fenster für Datenbankabfragen oder in der XML-Editoransicht speichern. Überzeugen Sie sich selbst, wie produktiv Sie mit den Altova-Tools arbeiten können, um XML-Daten in der SQL Azure-Cloud zu verarbeiten – laden Sie eine kostenlose 30-Tage-Testversion des Altova MissionKit for Software Architects herunter, einer integrierten Suite, die XMLSpy, DatabaseSpy sowie zusätzliche XML-, Datenbank- und UML-Tools enthält.