---
title: "Wykorzystanie narzędzi Altova do pracy z danymi XML w chmurze SQL Azure"
date: "2010-07-12"
categories: 
  - "xquery"
tags: 
  - "altova-xmlspy"
  - "database-tool"
  - "databasespy"
  - "software-tools"
  - "sql-server"
  - "xml-editor"
  - "xmlspy"
  - "xquery"
description: Odkryj, jak efektywnie zarządzać danymi XML w bazie danych SQL Azure, wykorzystując narzędzia firmy Altova, takie jak DatabaseSpy i XMLSpy, obejmując metody migracji, edycji i zapytań.
---
Status: #blog

Tags:  #altova-xmlspy #database-tool #databasespy #software-tools #sql-server #xml-editor #xmlspy #xquery

Categories: [xpath+xquery](/blog/pl/category/xpathxquery.md)
# Wykorzystanie narzędzi Altova do pracy z danymi XML w chmurze SQL Azure

W poprzednim wpisie omawialiśmy [łączenie się z bazami danych Microsoft SQL Azure za pomocą narzędzia Altova DatabaseSpy](https://www.altova.com/blog/2010/07/connecting-databasespy-to-sql-azure.html) oraz pokazaliśmy, jak porównywać schematy baz danych i ich zawartość między lokalną bazą danych a tą samą bazą danych przeniesioną do SQL Azure. W tym wpisie użyjemy innej metody, aby przenieść istniejącą tabelę do SQL Azure, i pokażemy kilka trików, które można wykonać z wykorzystaniem XML w chmurze. Na początku utworzyliśmy nowy schemat bazy danych w SQL Azure. Następnie utworzyliśmy [projekt DatabaseSpy](https://www.altova.com/pl/databasespy/database-projects.html) z połączeniem do lokalnej kopii SQL Server Express, na której działa przykładowa baza danych AdventureWorks, oraz drugie połączenie do naszego nowego schematu SQL Azure. 

[![Okno pomocnicze projektu DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TDssD2aUxUI/AAAAAAAAAL4/m1k4DFnOmUk/AzureXML01_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Project helper window")](http://lh4.ggpht.com/_REdrfeVqYdU/TDssDYHP9dI/AAAAAAAAAL0/Su9HjQ6mxG4/s1600-h/AzureXML01%5B4%5D.gif) 

Baza danych AdventureWorks zawiera tabelę o nazwie JobCandidate, która zawiera dane w formacie XML, które wykorzystamy do stworzenia modelu dla zawartości XML w naszym środowisku SQL Azure. 

[![Tabela "JobCandidate" z bazy danych AdventureWorks, wyświetlana w oknie przeglądarki online DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TDssEmRxTCI/AAAAAAAAAMA/XoaMxpC3mFc/AzureXML02_thumb%5B3%5D.gif?imgmax=800 "AdventureWorks JobCandidate table in the DatabaseSpy Online Browser window")](http://lh3.ggpht.com/_REdrfeVqYdU/TDssEeZqVbI/AAAAAAAAAL8/ACDHhYF2vrY/s1600-h/AzureXML02%5B7%5D.gif) 

Możemy wygenerować instrukcję CREATE dla istniejącej tabeli, którą można wykorzystać jako podstawę do stworzenia odpowiednika w systemie SQL Azure. 

[![Instrukcja CREATE dla istniejącej tabeli JobCandidate](https://lh3.ggpht.com/_REdrfeVqYdU/TDssFD0TAkI/AAAAAAAAAMI/HggxD6WMltU/AzureXML03_thumb%5B2%5D.gif?imgmax=800 "CREATE statement for the existing JobCandidate table")](http://lh4.ggpht.com/_REdrfeVqYdU/TDssE3BRRDI/AAAAAAAAAME/9_1gFQ_WY3c/s1600-h/AzureXML03%5B4%5D.gif) 

Musimy zmodyfikować to zapytanie, aby mogło być wykonane w naszej bazie danych SQL Azure. Oprócz zmiany nazw bazy danych i schematu, usuniemy ograniczenie klucza obcego do tabeli "Employee", ponieważ nasza nowa baza danych nie zawiera tabeli o tej nazwie. Ponadto, [SQL Azure nie obsługuje słowa kluczowego CONTENT,](http://msdn.microsoft.com/en-us/library/ee336281.aspx) więc również je usuniemy. 

[![Modyfikowanie instrukcji CREATE w oknie edytora SQL w programie DatabaseSpy](https://lh6.ggpht.com/_REdrfeVqYdU/TDssF2JnhpI/AAAAAAAAAMQ/e4H62EHURno/AzureXML04_thumb%5B2%5D.gif?imgmax=800 "Modifying the CREATE statement in a DatabaseSpy SQL Editor window")](http://lh5.ggpht.com/_REdrfeVqYdU/TDssFhvzNGI/AAAAAAAAAMM/2n2dd-eigyg/s1600-h/AzureXML04%5B4%5D.gif) 

Po upewnieniu się, że okno właściwości dla zmodyfikowanego polecenia CREATE wskazuje na bazę danych SQL Azure, możemy wykonać to polecenie. Po odświeżeniu bazy danych i rozszerzeniu widoku w oknie pomocniczym przeglądarki online, możemy zobaczyć nową, pustą tabelę. 

[![Nowa tabela wyświetlana w oknie przeglądarki online DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TDssGugtpAI/AAAAAAAAAMY/BO5iQ8SryaA/AzureXML05_thumb%5B2%5D.gif?imgmax=800 "New table viewed in the DatabaseSpy Online Browser window")](http://lh3.ggpht.com/_REdrfeVqYdU/TDssGSKOlzI/AAAAAAAAAMU/Y8Ip3bTZ6OU/s1600-h/AzureXML05%5B4%5D.gif) 

Porównanie danych między istniejącą tabelą a nową pozwoli nam stworzyć skrypt do przeniesienia danych do naszej nowej tabeli w chmurze SQL Azure. Jest to podobne do [porównania danych, o którym pisaliśmy w naszym poprzednim wpisie dotyczącym SQL Azure](https://www.altova.com/blog/2010/07/connecting-databasespy-to-sql-azure.html), z tą różnicą, że zamiast bezpośrednio łączyć dane, zapiszemy skrypt łączenia.

[![Okno dialogowe "Łączenie danych" w programie DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TDssHWwqTaI/AAAAAAAAAMg/e1oZHzy7x2E/AzureXML06_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Merge Data dialog")](http://lh3.ggpht.com/_REdrfeVqYdU/TDssHJsbkYI/AAAAAAAAAMc/z-ffuGYIhxA/s1600-h/AzureXML06%5B4%5D.gif) 

Nasza pierwsza próba uruchomienia skryptu scalania zakończyła się niepowodzeniem i wyświetlił się komunikat o błędzie, informujący, że SQL Azure nie może wstawiać wartości do nowej tabeli, gdy opcja IDENTITY_INSERT jest ustawiona na OFF. Możemy dodać do skryptu scalania polecenie SET IDENTITY_INSERT ON i ponownie uruchomić skrypt: 

[![Skrypt scalania danych, wyświetlany w oknie edytora SQL w programie DatabaseSpy](https://lh5.ggpht.com/_REdrfeVqYdU/TDssIUMkL5I/AAAAAAAAAMo/etCK1Qr0GdA/AzureXML07_thumb%5B2%5D.gif?imgmax=800 "Merge data script viewed in a DatabaseSpy SQL Editor window")](http://lh4.ggpht.com/_REdrfeVqYdU/TDssHlBKXOI/AAAAAAAAAMk/dHlCNTaS1po/s1600-h/AzureXML07%5B4%5D.gif) 

Następnie możemy wykonać zapytanie SELECT, aby wyświetlić dane, które zostały pomyślnie przesłane. 

[![Wybierz zapytanie i wyświetl wyniki w programie DatabaseSpy](https://lh4.ggpht.com/_REdrfeVqYdU/TDssJuaavxI/AAAAAAAAAMw/mHOLI4gHW2g/AzureXML08_thumb%5B2%5D.gif?imgmax=800 "Select query and Results viewed in DatabaseSpy")](http://lh5.ggpht.com/_REdrfeVqYdU/TDssJbu8M4I/AAAAAAAAAMs/8eZ3avCrjms/s1600-h/AzureXML08%5B4%5D.gif) 

Okno Data Inspector w programie DatabaseSpy umożliwia łatwiejszą analizę zawartości szerokich kolumn i jest idealne do przeglądania dokumentów XML przechowywanych w kolumnie "Resume" nowej tabeli "JobCandidate". 

[![Okno przeglądarki danych DatabaseSpy](https://lh6.ggpht.com/_REdrfeVqYdU/TDssKVVdcnI/AAAAAAAAAM4/X9lKbVekCMg/AzureXML09_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Data Inspector window")](http://lh5.ggpht.com/_REdrfeVqYdU/TDssJ2Lak8I/AAAAAAAAAM0/dGMjr437D4w/s1600-h/AzureXML09%5B4%5D.gif) 

**Edycja danych XML za pomocą programu XMLSpy** Jeśli potrzebujesz zrewidować, edytować, zaktualizować lub zweryfikować dane XML w bazie danych SQL Azure, [Altova XMLSpy](https://www.altova.com/pl/xml-editor/) oferuje bardziej zaawansowane funkcje edycji XML niż DatabaseSpy. Możemy połączyć się z naszą bazą danych SQL Azure z poziomu XMLSpy i wykonać zapytanie SELECT z okna [Okno zapytań do bazy danych XMLSpy](https://www.altova.com/pl/xmlspy/database-xml.html). XMLSpy umożliwia otwarcie dowolnego wiersza XML w celu bezpośredniej edycji, zapewniając dostęp do zaawansowanych funkcji edycji XML.

[![Widok zapytań do bazy danych w programie XMLSpy, umożliwiający przeglądanie danych XML w chmurze SQL Azure](https://lh3.ggpht.com/_REdrfeVqYdU/TDssLlYR3fI/AAAAAAAAANA/YcI5j9Ka4dg/AzureXML10_thumb%5B2%5D.gif?imgmax=800 "XMLSpy Database Query view of XML data in the SQL Azure cloud")](http://lh4.ggpht.com/_REdrfeVqYdU/TDssKld6cKI/AAAAAAAAAM8/PYbJaV5DOuA/s1600-h/AzureXML10%5B4%5D.gif) 

Oczywiście, wszystkie znane funkcje widoku tekstowego i widoku tabelarycznego XMLSpy są dostępne. 

[![XMLSpy: Wyświetlanie danych XML w formacie tekstowym w chmurze SQL Azure](https://lh6.ggpht.com/_REdrfeVqYdU/TDssMbC90PI/AAAAAAAAANI/9KBahBuL-14/AzureXML11_thumb%5B2%5D.gif?imgmax=800 "XMLSpy Text view of XML data in the SQL Azure cloud")](http://lh3.ggpht.com/_REdrfeVqYdU/TDssMK-TO1I/AAAAAAAAANE/L4f2m0KuAc0/s1600-h/AzureXML11%5B4%5D.gif) 

[![Wyświetlanie danych XML w formacie tabelarycznym w chmurze SQL Azure za pomocą programu XMLSpy](https://lh4.ggpht.com/_REdrfeVqYdU/TDssNHtkC5I/AAAAAAAAANQ/rIdY9_dxz0c/AzureXML12_thumb%5B2%5D.gif?imgmax=800 "XMLSpy Grid view of XML data inthe SQL Azure cloud")](http://lh3.ggpht.com/_REdrfeVqYdU/TDssMiPlQtI/AAAAAAAAANM/DqK59yQWPtQ/s1600-h/AzureXML12%5B4%5D.gif) 

Po zakończeniu edycji, opcja "Plik / Zapisz" w programie XMLSpy zapisuje zmodyfikowany dokument XML do tego samego wiersza tabeli "JobCandidate" w bazie danych SQL Azure, która znajduje się w chmurze.

[![Opcja "Plik" / "Zapisz" w programie XMLSpy umożliwia zapisywanie danych XML w chmurze SQL Azure](https://lh4.ggpht.com/_REdrfeVqYdU/TDssNlI2VII/AAAAAAAAANY/LQZ-NHz48TE/AzureXML13_thumb%5B2%5D.gif?imgmax=800 "XMLSpy File / Save menu option saves XML data to the SQL Azure cloud")](http://lh6.ggpht.com/_REdrfeVqYdU/TDssNWuNvCI/AAAAAAAAANU/KY6tdkkJ-wc/s1600-h/AzureXML13%5B4%5D.gif) 

**Przetwarzanie danych XML za pomocą XQuery** Można również użyć programu XMLSpy [Edytor XQuery](https://www.altova.com/pl/xmlspy/xquery-editor.html), Dzięki wbudowanej wiedzy o składni XQuery oraz inteligentnym asystentom wprowadzania danych, narzędzie to umożliwia tworzenie zapytań XQuery, które analizują dane XML w bazie danych SQL Azure. Poniższy przykład zapytania XQuery pobiera i zwraca adresy domowe z dokumentów XML zawierających życiorysy, gdzie identyfikator kandydata (JobCandidateID) jest mniejszy niż 7. 

[![Edytor XQuery w programie XMLSpy do przetwarzania danych XML w bazie danych SQL Azure ](https://lh4.ggpht.com/_REdrfeVqYdU/TDssOsFWR2I/AAAAAAAAANg/znKFG7mDqm4/AzureXML14_thumb%5B2%5D.gif?imgmax=800 "XMLSpy XQuery editor for XML data in SQL Azure ")](http://lh6.ggpht.com/_REdrfeVqYdU/TDssOEXShdI/AAAAAAAAANc/PWoGe2ZL8dI/s1600-h/AzureXML14%5B4%5D.gif) 

Instrukcję XQuery można uruchomić w oknie zapytań do bazy danych, a wyniki są natychmiast dostępne do wykorzystania w programie XMLSpy. 

[![Zapytanie XQuery i wyniki wyświetlane w oknie zapytań do bazy danych XMLSpy](https://lh4.ggpht.com/_REdrfeVqYdU/TDssPUwP8oI/AAAAAAAAANo/XS8KMTciZPk/AzureXML15_thumb%5B2%5D.gif?imgmax=800 "XQuery statement and results inthe XMLSpy Database Query window")](http://lh5.ggpht.com/_REdrfeVqYdU/TDssO25KcBI/AAAAAAAAANk/TZB0OmZ1Ss0/s1600-h/AzureXML15%5B4%5D.gif) 

Oczywiście, wynik zapytania XQuery można również edytować w trybie tekstowym lub w trybie tabelarycznym. 

[![Wynik zapytania XQuery wyświetlony w oknie tekstowym XMLSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TDssP7YsgqI/AAAAAAAAANw/egPoq6aQ2e0/AzureXML16_thumb%5B2%5D.gif?imgmax=800 "XQuery result in XMLSpy Text view")](http://lh5.ggpht.com/_REdrfeVqYdU/TDssPoUbWRI/AAAAAAAAANs/fZU5rG-51IA/s1600-h/AzureXML16%5B4%5D.gif) 

[![Wynik zapytania XQuery wyświetlony w formie tabeli w programie XMLSpy](https://lh4.ggpht.com/_REdrfeVqYdU/TDssQ5BJBrI/AAAAAAAAAN4/RKXallP0rDM/AzureXML17_thumb%5B2%5D.gif?imgmax=800 "XQuery result in XMLSpy Grid view")](http://lh6.ggpht.com/_REdrfeVqYdU/TDssQXEN4DI/AAAAAAAAAN0/tpRx1Mlabho/s1600-h/AzureXML17%5B4%5D.gif) 

Można zapisać wyniki zapytania zarówno z okna "Zapytanie do bazy danych", jak i z widoku "Edytor XML". Sprawdź sam, jak wydajny możesz być, korzystając z narzędzi Altova do pracy z danymi XML w chmurze SQL Azure – [pobierz bezpłatną 30-dniową wersję próbną](https://www.altova.com/pl/download-trial/) [Altova MissionKit for Software Architects](https://www.altova.com/pl/missionkit/software-architects.html), zintegrowanego pakietu, który zawiera XMLSpy, DatabaseSpy oraz dodatkowe narzędzia do pracy z XML, bazami danych i UML.
