Udostępnij za pośrednictwem


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