Dacă datele din baza de date SQL Server sunt stocate într-o coloană de tip [n] sau imagine, atunci acest tabel poate fi importat utilizând Integration Services. Puteți modifica tipul de coloană în XML utilizând instrucțiunea ALTER TABLE.
Dacă datele sunt stocate în coloane relaționale dintr-o bază de date SQL Server, trebuie să creați un nou tabel cu coloana de text [n] și, eventual, cu coloana cheii primare pentru a identifica rândurile. Pentru a obține datele XML create pe server utilizând instrucțiunea FOR XML și scrieți-le în coloana de text [n]. necesită cod de program pe partea clientului. Apoi, aceste date trebuie transferate într-o bază de date ulterioară selectând oricare dintre metodele de mai sus. Datele XML pot fi scrise direct în coloana XML a unei baze de date ulterioare.
Încărcarea în masă a datelor XML pe server poate fi efectuată cu ajutorul implementării în încărcătorul de date SQL Server, cum ar fi bcp. Instrucțiunea OPENROWSET vă permite să încărcați datele într-o coloană XML din fișiere. Acest lucru este arătat în exemplul următor.
Exemplu: încărcarea datelor XML din fișiere
Acest exemplu arată cum se introduce un rând într-un tabel T. Valoarea coloanei XML este încărcată din fișierul C: \ MyFile \ xmlfile.xml ca obiect CLOB, iar valoarea din coloana intregă este setată la 10.
SQL Server stochează date XML în codare Unicode (UTF-16). Datele XML extrase din bazele de date ale serverului sunt furnizate în codificarea UTF-16. Dacă aveți nevoie de date într-o altă codificare, datele extrase trebuie convertite. Uneori, datele XML pot fi reprezentate într-o codificare diferită. În acest caz, trebuie să fiți atenți în timpul încărcării datelor. De exemplu:
Dacă textul XML este reprezentat în codificarea Unicode (UCS-2, UTF-16), îl puteți atribui unei coloane, variabile sau parametru XML fără probleme.
Dacă codificarea este diferită de cea a Unicode și este implicită datorită paginii cu cod sursă, pagina de cod de sir din baza de date trebuie să fie aceeași sau compatibilă cu elementele de cod care trebuie încărcate. Dacă este necesar, utilizați clauza COLLATE. Dacă nu există o astfel de pagină de cod pe server, trebuie să adăugați o declarație XML explicită cu codificarea corectă.
Pentru a seta în mod explicit codificarea, utilizați tipul varbinary (). deoarece nu funcționează cu paginile de cod sau cu tipul de caractere pentru pagina de cod corespunzătoare. După aceasta, atribuiți datele coloanei, variabilei sau parametrului XML.