Het gebruik van Altova-tools voor het verwerken van XML-gegevens in de SQL Azure-cloud
In een eerdere post hebben we besproken hoe u verbinding kunt maken met Microsoft SQL Azure-databases met Altova DatabaseSpy en hebben we de vergelijking van databaseschema's en de inhoud tussen een lokale database en dezelfde database die is gemigreerd naar SQL Azure gedemonstreerd. In deze post gebruiken we een andere methode om een bestaande tabel naar SQL Azure te migreren en laten we u enkele trucs zien die u met XML in de cloud kunt toepassen. We begonnen met het aanmaken van een nieuw databaseschema in SQL Azure. Vervolgens maakten we een DatabaseSpy-project met een verbinding naar een lokale kopie van SQL Server Express die de AdventureWorks-voorbeelddatabase draait, en een tweede verbinding naar ons nieuwe SQL Azure-schema.
![]()
De AdventureWorks-database bevat een tabel met de naam JobCandidate, die enkele XML-gegevens bevat die we zullen gebruiken voor een model voor onze XML-inhoud in SQL Azure.
![]()
We kunnen een CREATE-statement genereren voor de bestaande tabel, dat we als basis kunnen gebruiken voor de SQL Azure-versie.
![]()
We moeten deze instructie aanpassen zodat deze kan worden uitgevoerd in onze SQL Azure-database. Naast het wijzigen van de namen van de database en het schema, zullen we de foreign key-relatie met de tabel "Employee" verwijderen, omdat onze nieuwe database geen tabel met die naam bevat. Bovendien ondersteunt SQL Azure het trefwoord "CONTENT" niet, dus we zullen dat ook verwijderen.
![]()
Nadat we gecontroleerd hebben dat het eigenschappenvenster voor de bijgewerkte CREATE-statement verwijst naar de SQL Azure-database, kunnen we de statement uitvoeren. Wanneer we de database vernieuwen en onze weergave uitbreiden in het hulpprogramma voor de online browser, kunnen we de nieuwe, lege tabel zien.
![]()
Een vergelijking van de gegevens tussen de bestaande tabel en de nieuwe tabel stelt ons in staat een script te maken om de gegevens naar onze nieuwe tabel in de SQL Azure cloud te migreren. Dit is vergelijkbaar met de gegevensvergelijking die we beschreven in onze vorige post over SQL Azure, behalve dat we in plaats van de gegevens direct samen te voegen, het script voor het samenvoegen opslaan.
![]()
Onze eerste poging om het merge-script uit te voeren mislukte, en er werd een foutmelding weergegeven: SQL Azure kan geen waarden in de nieuwe tabel invoegen wanneer IDENTITY_INSERT is ingesteld op OFF. We kunnen een regel toevoegen aan het merge-script om IDENTITY_INSERT op ON te zetten en het script vervolgens opnieuw uitvoeren:
![]()
Vervolgens kunnen we een SELECT-query uitvoeren om de gegevens te bekijken die succesvol zijn geüpload.
![]()
Het Data Inspector-venster van DatabaseSpy maakt het gemakkelijker om de inhoud van een brede kolom te bekijken, en is ideaal om te gebruiken voor XML-documenten die zijn opgeslagen in de kolom "Resume" van de nieuwe tabel "JobCandidate".
![]()
Het bewerken van XML-gegevens met XMLSpy Als u XML-gegevens in een SQL Azure-database moet aanpassen, bewerken, bijwerken of valideren, dan Altova XMLSpy Biedt uitgebreidere functies voor het bewerken van XML-bestanden dan DatabaseSpy. We kunnen verbinding maken met onze SQL Azure-database vanuit XMLSpy en een SELECT-query uitvoeren XMLSpy-venster voor databasequery's. Met XMLSpy kunnen we elke XML-regel openen voor directe bewerking, met toegang tot geavanceerde functies voor het bewerken van XML-bestanden.
![]()
Natuurlijk zijn alle bekende functies van de tekstweergave en de tabelweergave van XMLSpy beschikbaar.
![]()
![]()
Nadat u uw wijzigingen heeft aangebracht, slaat de optie "Bestand" / "Opslaan" in XMLSpy het herziene XML-document op in dezelfde rij van de tabel "JobCandidate" in de SQL Azure-database in de cloud.
![]()
XML-gegevens verwerken met XQuery U kunt ook de XMLSpy XQuery-editor gebruiken, die ingebouwde kennis heeft van de XQuery-syntaxis en contextgevoelige hulpmiddelen biedt, om XQuery-statements te maken die de XML-gegevens in uw SQL Azure-database verwerken. De onderstaande XQuery-statement haalt de thuisadressen op uit de XML-gegevens van kandidaten, waarbij de JobCandidateID kleiner is dan 7.
![]()
De XQuery-statement kan worden uitgevoerd in het venster voor databasequery's, en de resultaten zijn direct beschikbaar om mee te werken in XMLSpy.
![]()
Natuurlijk kan het resultaat van de XQuery-query ook worden bewerkt in de tekstweergave of in de tabelweergave.
![]()
![]()
U kunt de resultaten van de query opslaan, zowel vanuit het venster voor databasequery's als vanuit de XML-editor. Ontdek zelf hoe productief u kunt zijn door Altova-tools te gebruiken om met XML-gegevens in de SQL Azure-cloud te werken. Download een gratis proefversie van 30 dagen van de Altova MissionKit for Software Architects, een complete suite die XMLSpy, DatabaseSpy en aanvullende XML-, database- en UML-tools bevat.