Команда импорта в DB2 - PullRequest
       25

Команда импорта в DB2

1 голос
/ 16 августа 2011

В DB2 у меня есть одна таблица:

CREATE TABLE test ( test_id INTEGER NULL, test_name VARCHAR(255) NOT NULL, test_test VARCHAR(255))

Теперь я хочу импортировать данные в эту таблицу и использовать команду

IMPORT from '/home/test.txt' of del MODIFIED BY LOBSINFILE INSERT INTO test

Работает нормально, если файл test.txt содержит содержимое ниже.

\N, "aaaaaaa", "aaaaaaa"
\N, "bbbbbbb", "bbbbbbb"

Но если текстовый файл содержит данные ниже, он вставляет несколько записей.

\N, "<section>\
               <id root=\"84f194ae-f573-4249-8368-e38c74891965\"/>\
               <code code=\"34071-1\" codeSystem=\"2.16.840.1.113883.6.1\" displayName=\"WARNINGS SECTION\"/>\
               <title>Warnings</title>\
               <text>\
                  <paragraph>For external use only, do not use in the eye area.<br/>\
                  </paragraph>\
               </text>\
               <effectiveTime value=\"20100225\"/>\
            </section>","aaaaaaa"
\N, 'bbbbbbb', 'bbbbbb'

Что может быть не так?

Ответы [ 2 ]

1 голос
/ 16 августа 2011

Попробуйте экранировать кавычки в ваших данных с другой цитатой, подобной этой:

\N, "<section>\
               <id root=""84f194ae-f573-4249-8368-e38c74891965""/>\
               <code code=""34071-1"" codeSystem=""2.16.840.1.113883.6.1"" displayName=""WARNINGS SECTION""/>\
           <title>Warnings</title>\
           <text>\
              <paragraph>For external use only, do not use in the eye area.<br/>\
              </paragraph>\
           </text>\
           <effectiveTime value=""20100225""/>\
        </section>","aaaaaaa"

Затем используйте этот синтаксис импорта:

IMPORT from '/home/test.txt' of del MODIFIED BY DELPRIORITYCHAR XMLPARSE PRESERVE WHITESPACE INSERT INTO test

Кроме того, varchar (255) недостаточно велик для вашего примера.

0 голосов
/ 16 августа 2011

Из справочного руководства DB2: "Примечание: данные XML не могут храниться непосредственно в строке базовой таблицы в файлах с разделителями. Они должны быть помещены в отдельные файлы и ссылаться на них с помощью XDS."

Вы не можете просто импортировать данные XML (или что-либо, что подразумевает новые строки - это относится и к LOB ). Вместо этого в столбце нужно указать имя файла XML, а тип файла импорта будет DEL XML вместо DEL.

Проверьте Экспорт данных XML для получения дополнительных разъяснений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...