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 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 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.
![]()
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.
![]()
Możemy wygenerować instrukcję CREATE dla istniejącej tabeli, którą można wykorzystać jako podstawę do stworzenia odpowiednika w systemie SQL Azure.
![]()
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, więc również je usuniemy.
![]()
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ę.
![]()
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, z tą różnicą, że zamiast bezpośrednio łączyć dane, zapiszemy skrypt łączenia.
![]()
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:
![]()
Następnie możemy wykonać zapytanie SELECT, aby wyświetlić dane, które zostały pomyślnie przesłane.
![]()
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".
![]()
Edycja danych XML za pomocą programu XMLSpy Jeśli potrzebujesz zrewidować, edytować, zaktualizować lub zweryfikować dane XML w bazie danych SQL Azure, Altova XMLSpy 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. XMLSpy umożliwia otwarcie dowolnego wiersza XML w celu bezpośredniej edycji, zapewniając dostęp do zaawansowanych funkcji edycji XML.
![]()
Oczywiście, wszystkie znane funkcje widoku tekstowego i widoku tabelarycznego XMLSpy są dostępne.
![]()
![]()
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.
![]()
Przetwarzanie danych XML za pomocą XQuery Można również użyć programu XMLSpy Edytor XQuery, 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.
![]()
Instrukcję XQuery można uruchomić w oknie zapytań do bazy danych, a wyniki są natychmiast dostępne do wykorzystania w programie XMLSpy.
![]()
Oczywiście, wynik zapytania XQuery można również edytować w trybie tekstowym lub w trybie tabelarycznym.
![]()
![]()
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ą Altova MissionKit for Software Architects, zintegrowanego pakietu, który zawiera XMLSpy, DatabaseSpy oraz dodatkowe narzędzia do pracy z XML, bazami danych i UML.