SlideShare a Scribd company logo
1 of 34
XML w SQL Server w praktyce
97. Spotkanie PLSSUG Warszawa, 15.06.2016.
Dziś w programie
Jak to wygląda i jakie kłody pod nogi będzie nam rzucać:
Generowanie XML
Sprawdzanie poprawności XML
Wczytywanie XML z pliku
Zapisywanie XML do pliku
Wyszukiwanie 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 | b.ratajczyk@gmail.com
Krótka powtórka
XML w T-SQL
Generowanie – FOR XML
RAW AUTO
EXPLICIT PATH
Wczytywanie z pliku – OPENROWSET BULK
Przetwarzanie - OPENXML
Przetwarzanie - .nodes()
FOR XML
OPENROWSET
OPENXML
.nodes()
XML SCHEMA COLLECTION
Sprawdzamy poprawność XML
Kolekcje schematów
Pozwalają sprawdzać poprawność dokumentów XML
Kolekcja to może być po prostu jeden schemat
ALTER XML SCHEMA COLLECTION to nie modyfikacja
Uwaga 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ętli
LET Deklaracja zmiennych
WHERE Filtrowanie
ORDER BY Sortowanie
RETURN Zwracanie
FLWOR (2)
XQUERY
SSIS
Czyli 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 Destination
Nie ma komponentu XML Destination
Żeby zapisać plik radzimy sobie na kilka sposobów
Script Task
Flat File Destination
File 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

More Related Content

Viewers also liked (12)

第10章 (续)事务
第10章 (续)事务 第10章 (续)事务
第10章 (续)事务
 
Jak szybko przetwarzasz hurtowe ilości XML?
Jak szybko przetwarzasz hurtowe ilości XML?Jak szybko przetwarzasz hurtowe ilości XML?
Jak szybko przetwarzasz hurtowe ilości XML?
 
第2章 关系数据库基本原理
第2章  关系数据库基本原理第2章  关系数据库基本原理
第2章 关系数据库基本原理
 
第9章 t sql程序设计
第9章 t sql程序设计第9章 t sql程序设计
第9章 t sql程序设计
 
第1章 数据库系统概论
第1章   数据库系统概论第1章   数据库系统概论
第1章 数据库系统概论
 
Infografia smart energy managemet services 2.3
Infografia smart energy managemet services 2.3Infografia smart energy managemet services 2.3
Infografia smart energy managemet services 2.3
 
A beginners guide
A beginners guideA beginners guide
A beginners guide
 
第7章 索引和视图
第7章 索引和视图第7章 索引和视图
第7章 索引和视图
 
Alerty WMI
Alerty WMIAlerty WMI
Alerty WMI
 
第11章
第11章 第11章
第11章
 
Resiliency in the cloud myths versus facts
Resiliency in the cloud myths versus factsResiliency in the cloud myths versus facts
Resiliency in the cloud myths versus facts
 
Podstawy ETL z SSIS
Podstawy ETL z SSISPodstawy ETL z SSIS
Podstawy ETL z SSIS
 

Similar to XML w SQL Server w praktyce

Transact-SQL. Czarna księga
Transact-SQL. Czarna księgaTransact-SQL. Czarna księga
Transact-SQL. Czarna księga
Wydawnictwo Helion
 
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Tomasz Kopacz
 
Pocałunek śmierci
Pocałunek śmierciPocałunek śmierci
Pocałunek śmierci
Divante
 
VirtualStudy.pl - Czwartki z BI - Reporting Services
VirtualStudy.pl - Czwartki z BI - Reporting ServicesVirtualStudy.pl - Czwartki z BI - Reporting Services
VirtualStudy.pl - Czwartki z BI - Reporting Services
SSAS.PL
 
Ajax. Ćwiczenia
Ajax. ĆwiczeniaAjax. Ćwiczenia
Ajax. Ćwiczenia
Wydawnictwo Helion
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
Tomasz Cieplak
 

Similar to XML w SQL Server w praktyce (20)

"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
 
OceanQuery - język zapytań edytora raportów
OceanQuery - język zapytań edytora raportówOceanQuery - język zapytań edytora raportów
OceanQuery - język zapytań edytora raportów
 
Liquibase w praktyce
Liquibase w praktyceLiquibase w praktyce
Liquibase w praktyce
 
Microsoft Business Intelligence w 2017 roku
Microsoft Business Intelligence w 2017 rokuMicrosoft Business Intelligence w 2017 roku
Microsoft Business Intelligence w 2017 roku
 
Transact-SQL. Czarna księga
Transact-SQL. Czarna księgaTransact-SQL. Czarna księga
Transact-SQL. Czarna księga
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
Optymalizacja aplikacji ASP.NET
Optymalizacja aplikacji ASP.NETOptymalizacja aplikacji ASP.NET
Optymalizacja aplikacji ASP.NET
 
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
 
SQLDay2011_Sesja02_Collation_Marek Adamczuk
SQLDay2011_Sesja02_Collation_Marek AdamczukSQLDay2011_Sesja02_Collation_Marek Adamczuk
SQLDay2011_Sesja02_Collation_Marek Adamczuk
 
Pocałunek śmierci
Pocałunek śmierciPocałunek śmierci
Pocałunek śmierci
 
Czwartki z bi - Reporting Services - podstawy
Czwartki z bi - Reporting Services - podstawyCzwartki z bi - Reporting Services - podstawy
Czwartki z bi - Reporting Services - podstawy
 
VirtualStudy.pl - Czwartki z BI - Reporting Services
VirtualStudy.pl - Czwartki z BI - Reporting ServicesVirtualStudy.pl - Czwartki z BI - Reporting Services
VirtualStudy.pl - Czwartki z BI - Reporting Services
 
Sql day2015 fts
Sql day2015 ftsSql day2015 fts
Sql day2015 fts
 
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
 
Using Red Gate SQL Doc for database documentation
Using Red Gate SQL Doc for database documentationUsing Red Gate SQL Doc for database documentation
Using Red Gate SQL Doc for database documentation
 
Monitoring sieci
Monitoring sieciMonitoring sieci
Monitoring sieci
 
20060416 Azure Boot Camp 2016- Azure Data Lake Storage and Analytics
20060416   Azure Boot Camp 2016- Azure Data Lake Storage and Analytics20060416   Azure Boot Camp 2016- Azure Data Lake Storage and Analytics
20060416 Azure Boot Camp 2016- Azure Data Lake Storage and Analytics
 
Ajax. Ćwiczenia
Ajax. ĆwiczeniaAjax. Ćwiczenia
Ajax. Ćwiczenia
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
 

More from Bartosz Ratajczyk

More from Bartosz Ratajczyk (11)

SQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze krokiSQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze kroki
 
OLE DB - kiedy FastLoad nie jest takie fast
OLE DB - kiedy FastLoad nie jest takie fastOLE DB - kiedy FastLoad nie jest takie fast
OLE DB - kiedy FastLoad nie jest takie fast
 
Jak działa rekurencyjne CTE?
Jak działa rekurencyjne CTE?Jak działa rekurencyjne CTE?
Jak działa rekurencyjne CTE?
 
SqlSaturday Denmark 2017 - Automate your SSIS deployment process
SqlSaturday Denmark 2017 - Automate your SSIS deployment processSqlSaturday Denmark 2017 - Automate your SSIS deployment process
SqlSaturday Denmark 2017 - Automate your SSIS deployment process
 
Zautomatyzuj swój proces wdrażania projektów SSIS
Zautomatyzuj swój proces wdrażania projektów SSISZautomatyzuj swój proces wdrażania projektów SSIS
Zautomatyzuj swój proces wdrażania projektów SSIS
 
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534How minimalloggingcanhelpme bartoszratajczyk_sql_sat534
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534
 
Szkolenia i certyfikacjesqlserver2016_plssug99
Szkolenia i certyfikacjesqlserver2016_plssug99Szkolenia i certyfikacjesqlserver2016_plssug99
Szkolenia i certyfikacjesqlserver2016_plssug99
 
Po co mi Temporal Tables?
Po co mi Temporal Tables?Po co mi Temporal Tables?
Po co mi Temporal Tables?
 
Co to te CTE?
Co to te CTE?Co to te CTE?
Co to te CTE?
 
O co chodzi z FILESTREAM?
O co chodzi z FILESTREAM?O co chodzi z FILESTREAM?
O co chodzi z FILESTREAM?
 
Czy mi się przyda hierarchyid?
Czy mi się przyda hierarchyid?Czy mi się przyda hierarchyid?
Czy mi się przyda hierarchyid?
 

XML w SQL Server w praktyce

Editor's Notes

  1. ALTER XML SCHEMA COLLECTION pozwala tylko na dodanie elementu do kolekcji, nie pozwala usunąć lub zamienić Uwaga przy powiązywaniu: np. parametr procedury związany ze schematem – przy DROP XML SCHEMA COLLECTION musimy odłączyć schemat z każdego elementu (albo kolumnę) Schematy – jak piszą na blogach - przyspieszają też przetwarzanie XML (shredding i wyszukiwanie)
  2. File Connection – np. dla XML Task
  3. OLE_SRC potrzebuje obejścia