Завантаження xml-даних

Якщо в базі даних SQL Server дані зберігаються в стовпці типу [n] text або image, то цю таблицю можна імпортувати за допомогою служб Служби Integration Services. Змінити тип стовпця на XML можна з використанням інструкції ALTER TABLE.

Якщо в базі даних SQL Server дані зберігаються в реляційних шпальтах, необхідно створити нову таблицю зі стовпцем [n] text і, можливо, з первинним ключовим стовпцем для ідентифікації рядків. Щоб отримати XML-дані, створені на сервері за допомогою інструкції FOR XML, і записати їх в стовпець [n] text. потрібно програмний код на клієнтській стороні. Потім ці дані необхідно передати в базу даних більш пізньої версії, вибравши будь-яку з вищезазначених методик. XML-дані можна безпосередньо записати в XML-стовпець бази даних більш пізньої версії.

Масову завантаження XML-даних на сервер можна здійснити за допомогою реалізованих в SQL Server засобів масової завантаження, таких як bcp. Інструкція OPENROWSET дозволяє завантажити дані в XML-стовпець з файлів. Це показано в наступному прикладі.

Приклад: завантаження XML-даних з файлів

Цей приклад демонструє, як вставити рядок в таблицю T. Значення XML-стовпця завантажується з файлу C: \ MyFile \ xmlfile.xml як об'єкт CLOB, а в стовпці цілого числа встановлюється значення 10.

SQL Server зберігає XML-дані в кодуванні Unicode (UTF-16). XML-дані, які добуваються з баз даних сервера, надаються в кодуванні UTF-16. Якщо потрібні дані в іншому кодуванні, витягнуті дані потрібно перетворити. Іноді XML-дані можуть бути представлені в іншому кодуванні. Якщо це так, під час завантаження даних потрібно бути уважним. наприклад:

Якщо текст XML представлений в кодуванні Unicode (UCS-2, UTF-16), можна призначити його XML-стовпці, змінної або параметру без будь-яких проблем.

Якщо кодування відмінна від Юникода і неявно через вихідної кодової сторінки, строкова кодова сторінка в базі даних повинна бути тієї ж самої або сумісної з елементами коду, які слід завантажити. Якщо потрібно, використовуйте пропозицію COLLATE. Якщо такий кодової сторінки на сервері не існує, необхідно додати явну XML-декларацію з коректною кодуванням.

Щоб явно задати кодування, скористайтеся типом varbinary (). оскільки він не працює з кодовими сторінками або символьний тип для відповідної кодової сторінки. Після цього призначте дані XML-стовпці, змінної або параметру.

Приклад: явне вказівку кодування

Схожі статті