Udostępnij za pośrednictwem


Obsługa typu danych w wersji 4.0 SQLXML XML

Począwszy od SQL Server 2005, SQL Server obsługuje XML wpisanych danych przy użyciu xml typu danych.Ten temat zawiera informacje o jak SQLXML 4.0 rozpoznaje wystąpienia xml Typ danych i implementuje obsługę je.

Praca z typami danych xml

Aby dowiedzieć się więcej na temat pracy z tabelami programu SQL, które implementują xml Typ danych kolumny, dostępne są następujące przykłady:

Zadanie

Przykład

Temat

Sposób mapowania i obejmują xml kolumna w widoku XML

"XML element mapowania XML typu danych kolumna"

Mapowanie domyślne XSD elementów i atrybutów tabel i kolumn (SQLXML 4.0)

Jak wstawić dane do xml kolumna z updategrams

"Wstawianie danych do XML typu danych kolumna"

Wstawianie danych XML Updategrams (SQLXML 4.0)

Zbiorczego ładowania danych XML do xml kolumna

"Luzem ładowania XML typu danych kolumny"

Przykłady obciążenia luzem XML (SQLXML 4.0)

Wytyczne i ograniczenia

  • <xsd: wszelkie> do kolumna łącznie xml typu danych.Obsługa w SQLXML tego scenariusza jest zapewniana przez sql:overflow-field adnotacji.Innym rozwiązaniem problemu jest mapowanie xml Typ danych pole jako elementu xsd:anyType.To obejście jest wykazane w "mapowania XML XML element typem danych kolumna" przykład odwołania w powyższej tabela.

  • Kwerendy XPath zawartości xml kolumny Typ danych nie jest obsługiwany.

  • Za pomocą xml kolumna Typ danych w adnotacji, gdzie nie jest obsługiwane (takich jak sql:relationship i sql:key-fields) lub dozwolone będzie skutkować SQL Server błędów, które nie będzie zalewkowany przez składniki średniego poziomu wykonania SQLXML 4.0.Dzieje się tak, ponieważ SQLXML wymaga informacji o typie SQL.Jest to podobne zachowanie SQLXML dla innych typów danych, takich jak BLOB i typy binarny.

  • Mapowanie xml kolumny jest obsługiwana tylko dla schematów XSD.Schematy XDR nie obsługują mapowanie xml kolumny.

  • SQLXML 4.0, opiera się na analizy wsparcie w XML SQL Server.xml Kolumna może być albo mapowane jako pismo XML lub XML bez typu.W każdym przypadek SQLXML 4.0 nie sprawdza poprawności danych wejściowych XML.Jeśli dane wejściowe XML jest nieprawidłowa lub kształtne, SQL Server do SQLXML, zgłasza i propaguje informacje o błędzie odpowiednie, zwróconych przez serwer do użytkownika.

  • SQLXML 4.0 relies upon the limited support for DTDs provided in SQL Server.SQL Server allows for an internal DTD in xml data type data, which can be used to supply default values and to replace entity references with their expanded contents.SQLXML przekazuje dane XML "tak jak jest" (w tym wewnętrznego DTD) do serwera.Konwertuj pliki DTD do schematu XML (XSD) dokumentów za pomocą narzędzi innych firm i ładowania danych z wbudowanych schematów XSD do bazy danych.

  • SQLXML 4.0 jest nie zachowuje deklaracja XML instrukcje przetwarzania (na przykład <? xml wersja "1.0" =?>) oparte na zachowanie SQL Server.Natomiast deklaracja XML jest traktowana jako dyrektywy do SQL Server parsera XML i jego atrybuty (wersja, kodowanie i autonomiczny) są tracone po przekonwertowaniu danych xml typu danych.Dane XML są wewnętrznie przechowywane jako UCS-2.Wszystkie inne instrukcje przetwarzania XML wystąpienie zostaną zachowane; są one dozwolone w xml kolumna i mogą być obsługiwane przez SQLXML.