powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / загрузка XML-файла
5 сообщений из 5, страница 1 из 1
загрузка XML-файла
    #36589546
jack_nsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем доброго дня!

требуется по расписанию загружать в базу XML-файлы в XML-поле таблицы

создал схему в IBM Data Studio
зарегистрировал её в базе
осталась маленькая проблемка - нужно менять кодировку файла
и задавать для корневого элемента применяемую схему
т.е. в исходном файле
Код: plaintext
1.
2.
3.
4.
<?xml version="1.0" encoding="windows-1251" ?>
<Обмен>
...
...
...
а загрузку могу делать только если меняю на
Код: plaintext
1.
2.
3.
4.
<?xml version="1.0" encoding="UTF-8" ?>
<Обмен xmlns="http://www.example.org/newD" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/newD newD.xsd ">
...
...
...

получается, что нужно предварительно загрузить файл в текстовую переменную или в CLOB
затем над этой текстовой переменной произвести replace

а есть более изящный способ ? :)
...
Рейтинг: 0 / 0
загрузка XML-файла
    #36592203
jack_nsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
день прошел, а всё никак... :)

насколько понял, импорт только через оболочный файл
создал такой, в нем только одна строчка
Код: plaintext
"<XDS FIL='1_1.XML' />"

пытаюсь влить командой
Код: plaintext
1.
2.
3.
4.
5.
6.
IMPORT FROM "C:\0\_000\4545.txt" OF DEL 
XML FROM "C:\0\_000" 
MODIFIED BY CODEPAGE= 1251  XMLCHAR
METHOD P ( 2 ) 
XMLVALIDATE USING XDS DEFAULT myshema.D_TO_1C  
INSERT INTO myshema.LOAD_XML (XML_FIELD)

ан нет, запись в таблицу добавляет в которой 2 поля ИД и ХМЛ
в поле ХМЛ(XML_FIELD) пусто
не проходит валидация по схеме, возможно из-за кодировок...
...
Рейтинг: 0 / 0
загрузка XML-файла
    #36600834
jack_nsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
неужто с xml никто не работает ? :)

эксперименты с xmlvalidate показали, что взять сразу xml-файл в xml-столбец без изменения кодовой страницы и без явного добавления принадлежности к xml-shema - пока невозможно... :(

придется через clob-ы ...

осталось выяснить, а можно каким-то образом прочитать содержимое каталога,
чтобы определить, какие файлы нужно импортировать...

может подскажет кто-нибудь ?

хочется сделать это средствами только db2
через расписание
без применения дополнительного инструментария
...
Рейтинг: 0 / 0
загрузка XML-файла
    #36600986
jack_nsk,

Сформулируй пожалуйста что именно нужно сделать, желательно с примерами готовых XML-фалов, схем и DDL на таблицы. Создавать собственный тестовый набор некогда.
Примеры желательно вложением/архивом к посту.

По документации загрузка XML-документа идет в кодировке, которая указана в теге encoding, если там никакая не указана, то тогда в дефолтной или в заданной в MODIFIED BY CODEPAGE=<номер> XMLCHAR
...
Рейтинг: 0 / 0
загрузка XML-файла
    #36604426
jack_nsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений Хабаров,

выслал в почту
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / загрузка XML-файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]