xml w sql server w praktyce

34
XML w SQL Server w praktyce 97. Spotkanie PLSSUG Warszawa, 15.06.2016.

Upload: bartosz-ratajczyk

Post on 14-Apr-2017

129 views

Category:

Education


0 download

TRANSCRIPT

Page 1: XML w SQL Server w praktyce

XML w SQL Server w praktyce

97. Spotkanie PLSSUG Warszawa, 15.06.2016.

Page 2: XML w SQL Server w praktyce

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

Page 3: XML w SQL Server w praktyce

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”

Page 4: XML w SQL Server w praktyce

Bartosz Ratajczyk

Konsultant SQL Server

Programista baz danych i aplikacji

MCSE: Data Platform, MCT

http://bartekr.net | [email protected]

Page 5: XML w SQL Server w praktyce

Krótka powtórkaXML w T-SQL

Page 6: XML w SQL Server w praktyce

Generowanie – FOR XMLRAW AUTO

EXPLICIT PATH

Page 7: XML w SQL Server w praktyce

Wczytywanie z pliku – OPENROWSET BULK

Page 8: XML w SQL Server w praktyce

Przetwarzanie - OPENXML

Page 9: XML w SQL Server w praktyce

Przetwarzanie - .nodes()

Page 10: XML w SQL Server w praktyce

FOR XML

OPENROWSET

OPENXML

.nodes()

Page 11: XML w SQL Server w praktyce

XML SCHEMA COLLECTIONSprawdzamy poprawność XML

Page 12: XML w SQL Server w praktyce

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

Page 13: XML w SQL Server w praktyce

Tworzenie kolekcji schematów

Page 14: XML w SQL Server w praktyce

XML SCHEMA COLLECTION

XML VALIDATION

Page 15: XML w SQL Server w praktyce

XQuery.nodes(), .query(), .modify(), .value(), .exist(), FLWOR

Page 16: XML w SQL Server w praktyce

.nodes(), .value(), .exist()

Page 17: XML w SQL Server w praktyce

.modify()

Page 18: XML w SQL Server w praktyce

.query()

Page 19: XML w SQL Server w praktyce

FLWOR (1)FOR Iteracja w pętliLET Deklaracja zmiennychWHERE FiltrowanieORDER BY SortowanieRETURN Zwracanie

Page 20: XML w SQL Server w praktyce

FLWOR (2)

Page 21: XML w SQL Server w praktyce

XQUERY

Page 22: XML w SQL Server w praktyce

SSISCzyli zabawa klockami

Page 23: XML w SQL Server w praktyce

XML Task

Diff Patch Merge XSLT XPath Validate

Control Flow

Page 24: XML w SQL Server w praktyce

XML Source (1)

Data Flow

Page 25: XML w SQL Server w praktyce

XML Source (2)

Page 26: XML w SQL Server w praktyce

XML Source (3)

http://blog.hoegaerden.be/2011/04/20/loading-complex-xml-using-ssis/

Page 27: XML w SQL Server w praktyce

XML DestinationNie ma komponentu XML DestinationŻeby zapisać plik radzimy sobie na kilka sposobów

Script TaskFlat File DestinationFile Connection

Page 28: XML w SQL Server w praktyce

Script Task

Page 29: XML w SQL Server w praktyce

XML + Flat File Destination

Page 30: XML w SQL Server w praktyce

SSIS XML

Page 31: XML w SQL Server w praktyce

INNE OPCJE?

Page 32: XML w SQL Server w praktyce

SQLXML

Page 33: XML w SQL Server w praktyce

Kontrolki firm trzecich

TaskFactory – XML Generation Transform (PragmaticWorks)

Page 34: XML w SQL Server w praktyce

I to w zasadzie tyle