Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si usano gli updategram XML, tenere presente quanto segue:
Se si usa un updategram per un'operazione di inserimento con una sola coppia di <blocchi prima e dopo, il blocco before>>può essere omesso<.<> Viceversa, nel caso di un'operazione di eliminazione, il <blocco after> può essere omesso.
Se si usa un updategram con più <blocchi prima> e <dopo> nel <tag di sincronizzazione>, sia prima> che<dopo> i blocchi< devono essere specificati per formare <coppie prima> e <dopo>.
Gli aggiornamenti in un updategram vengono applicati alla visualizzazione XML fornita da XML Schema. Pertanto, affinché il mapping predefinito abbia esito positivo, è necessario specificare il nome del file di schema nell'updategram oppure, se il nome file non viene specificato, i nomi degli elementi e degli attributi devono corrispondere ai nomi di tabella e colonna nel database.
SQLXML 4.0 richiede che tutti i valori di colonna in un updategram siano mappati in modo esplicito nello schema (XDR o XSD) forniti per comporre la visualizzazione XML per i relativi elementi figlio. Questo comportamento è diverso dalle versioni precedenti di SQLXML, che ha consentito un valore per una colonna non mappata nello schema se è stato implicito come parte della chiave esterna in un'annotazione
sql:relationship. Si noti che questa modifica non influisce sulla propagazione dei valori di chiave primaria negli elementi figlio, che si verifica ancora per SQLXML 4.0 se non viene specificato in modo esplicito alcun valore per l'elemento figlio.Se si usa un updategram per modificare i dati in una colonna binaria ,ad esempio il tipo di dati di SQL Server
image, è necessario specificare uno schema di mapping in cui è necessario specificare il tipo di dati DI SQL Server (ad esempio ,sql:datatype="image") e il tipo di dati XML (ad esempio,dt:type="binhex"odt:type="binbase64). I dati per la colonna binaria devono essere specificati nell'updategram; L'annotazionesql:url-encodespecificata nello schema di mapping viene ignorata dall'updategram.Quando si scrive uno schema XSD, se il valore specificato per l'annotazione
sql:relationosql:fieldinclude un carattere speciale, ad esempio uno spazio (ad esempio, nel nome della tabella "Dettagli ordine"), questo valore deve essere racchiuso tra parentesi quadre (ad esempio"[Dettagli ordine]").Quando si usano gli updategram, le relazioni di catena non sono supportate. Ad esempio, se le tabelle A e C sono correlate tramite una relazione di catena che usa la tabella B, si verificherà l'errore seguente quando si tenta di eseguire ed eseguire l'updategram:
There is an inconsistency in the schema provided.Anche se sia lo schema che l'updategram sono altrimenti corretti e validi, questo errore si verificherà se è presente una relazione di catena.
Gli updategram non consentono il passaggio di dati di
imagetipo come parametri durante gli aggiornamenti.I tipi BLOB (Binary Large Object) come
text/ntexte le immagini non devono essere usati nel blocco before> in< quando si usano gli updategram, perché verranno inclusi per l'uso nel controllo della concorrenza. Ciò può causare problemi con SQL Server a causa delle limitazioni sul confronto per i tipi BLOB. Ad esempio, la parola chiave LIKE viene usata nella clausola WHERE per il confronto tra colonne deltexttipo di dati. Tuttavia, i confronti avranno esito negativo nel caso di tipi BLOB in cui le dimensioni dei dati sono maggiori di 8K.I caratteri speciali nei
ntextdati possono causare problemi con SQLXML 4.0 a causa delle limitazioni del confronto per i tipi BLOB. Ad esempio, l'uso di "[Serializable]" nel <blocco prima> di un updategram quando viene usato nel controllo della concorrenza di una colonna dintexttipo avrà esito negativo con la descrizione dell'errore SQLOLEDB seguente:Empty update, no updatable rows found Transaction aborted