Wytyczne i ograniczenia XML Updategrams (SQLXML 4.0)
Podczas korzystania z XML updategrams, należy pamiętać o następujących:
Jeśli używasz wierzchołki dla operacji wstawiania z tylko jedną parą <before> i <after> bloki, <before> można pominąć blok.Natomiast przypadek wystąpienia operacji usuwania <after> można pominąć blok.
Jeśli używasz wierzchołki z wielu <before> i <after> bloki w <sync> tag zarówno <before> Bloki i <after> Bloki musi być określona w formularzu <before> i <after> par.
Aktualizacje w diagramach aktualizacji są stosowane do widoku XML, który jest dostarczany przez schemat XML.Dlatego dla domyślnego mapowania została wykonana pomyślnie, albo należy określić nazwę pliku schematu w diagramach aktualizacji lub, jeśli nie podano nazwy pliku, nazwy elementów i atrybut musi pasować do tabela i kolumna nazwy w bazie danych.
SQLXML 4.0 wymaga, aby wszystkie wartości kolumna w diagramach aktualizacji musi być jawnie mapowana w schemacie (XDR lub XSD) do redagowania Widok XML dla jego elementów podrzędność.To zachowanie różni się od wcześniejszych wersji SQLXML, którego dozwolone wartości dla kolumna nie są mapowane w schemacie, jeśli został podany jako część klucza obcego w sql:relationship adnotacji.(Uwaga Ta zmiana nie wpływa propagacji klucz podstawowy wartości elementów podrzędność, które nadal występuje 4.0 SQLXML, jeśli nie jest wyraźnie określona dla elementu podrzędnego.
If you are using an updategram to modify data in a binary column (such as the SQL Server image data type), you must provide a mapping schema in which the SQL Server data type (for example, sql:datatype="image") and the XML data type (for example, dt:type="binhex" or dt:type="binbase64) must be specified.Dane binarne kolumna muszą być określone w diagramach aktualizacji; sql:url-encode określona w schemacie mapowanie adnotacji jest ignorowany przez wierzchołki.
Podczas pisania schematu XSD, jeśli wartość określona dla sql:relation lub sql:field Adnotacja zawiera znaków specjalnych, takich jak znak spacji (na przykład w "Opisy zamówień" Nazwa tabela), wartość ta musi być ujęty w nawiasy kwadratowe (na przykład "[Szczegóły zamówień]").
Podczas korzystania z updategrams nie są obsługiwane relacje łańcucha.Na przykład jeśli za pomocą relacji łańcucha, która używa tabela b są powiązane tabele a i C, następujący błąd wystąpi podczas próby uruchomienia wykonać wierzchołki:
There is an inconsistency in the schema provided.
Nawet jeśli schematu i wierzchołki są poprawne i ważnie uformowane, ten błąd wystąpi, jeśli występuje relacja łańcucha.
Updategrams nie zezwala na przekazywanie image typu danych jako parametry podczas aktualizacji.
Typy dużego obiektu binarnego (BLOB), podobnie jak text/ntext i obrazy, nie powinny być używane w <before> blok w podczas pracy z updategrams, ponieważ obejmuje to ich do użytku w formancie współbieżność.Może to spowodować problemy z SQL Server z powodu ograniczenia porównania dla typu BLOB.Na przykład użyć słowa kluczowego PODOBNEGO w klauzula WHERE, porównywania między kolumnami text typu danych; Jednakże porównań zakończy się niepowodzeniem przypadek rodzajów BLOB, w których rozmiar danych jest większa niż 8 KB.
Znaki specjalne w ntext danych może spowodować problemy z SQLXML 4.0 z powodu ograniczenia porównania dla typu BLOB.Na przykład użyj "[Serializable]" w <before> Blok updategrams w współbieżność sprawdzanie kolumna ntext typu niepowodzenie następujący opis błędu SQLOLEDB:
Empty update, no updatable rows found Transaction aborted