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.