XML w SQL Server w praktyce
-
Upload
bartosz-ratajczyk -
Category
Education
-
view
129 -
download
0
Transcript of XML w SQL Server w praktyce
XML w SQL Server w praktyce
97. Spotkanie PLSSUG Warszawa, 15.06.2016.
Dziś w programieJak to wygląda i jakie kłody pod nogi będzie nam rzucać:
Generowanie XMLSprawdzanie poprawności XMLWczytywanie XML z plikuZapisywanie XML do plikuWyszukiwanie danych w dokumentach XML
Zarówno w T-SQL jak i SSIS
Kto głównie skorzysta?„Robiłem jakieś pierwsze próby i tyle”„Miałem projekt, ale ostatecznie zrobiliśmy w .NET”„Próbowałem coś zrobić w SSIS, ale były z tym problemy”„Księgowość coś mówiła o JPK, ale odłożyliśmy na później”
Bartosz Ratajczyk
Konsultant SQL Server
Programista baz danych i aplikacji
MCSE: Data Platform, MCT
http://bartekr.net | [email protected]
Krótka powtórkaXML w T-SQL
Generowanie – FOR XMLRAW AUTO
EXPLICIT PATH
Wczytywanie z pliku – OPENROWSET BULK
Przetwarzanie - OPENXML
Przetwarzanie - .nodes()
FOR XML
OPENROWSET
OPENXML
.nodes()
XML SCHEMA COLLECTIONSprawdzamy poprawność XML
Kolekcje schematówPozwalają sprawdzać poprawność dokumentów XMLKolekcja to może być po prostu jeden schematALTER XML SCHEMA COLLECTION to nie modyfikacjaUwaga przy powiązywaniu z parametrami typu XML
Tworzenie kolekcji schematów
XML SCHEMA COLLECTION
XML VALIDATION
XQuery.nodes(), .query(), .modify(), .value(), .exist(), FLWOR
.nodes(), .value(), .exist()
.modify()
.query()
FLWOR (1)FOR Iteracja w pętliLET Deklaracja zmiennychWHERE FiltrowanieORDER BY SortowanieRETURN Zwracanie
FLWOR (2)
XQUERY
SSISCzyli zabawa klockami
XML Task
Diff Patch Merge XSLT XPath Validate
Control Flow
XML Source (1)
Data Flow
XML Source (2)
XML Source (3)
http://blog.hoegaerden.be/2011/04/20/loading-complex-xml-using-ssis/
XML DestinationNie ma komponentu XML DestinationŻeby zapisać plik radzimy sobie na kilka sposobów
Script TaskFlat File DestinationFile Connection
Script Task
XML + Flat File Destination
SSIS XML
INNE OPCJE?
SQLXML
Kontrolki firm trzecich
TaskFactory – XML Generation Transform (PragmaticWorks)
I to w zasadzie tyle