Я новичок в DBAdministration, и мне было предложено создать структуру db, начиная с больших (8Gb) xml-файлов. Я здание структуры, и это почти закончено.Импорт данных XML в Oracle DB
Я тестирую импорт данных из XML в таблицы. Я сохранил содержимое файла в столбце таблицы, но когда я пытаюсь экспортировать значение одного столбца, у меня нет результатов (и нет ошибок).
Вот код:
CREATE TABLE TESTTABLE2 (xml_file XMLTYPE) XMLTYPE xml_file STORE as securefile binary xml;
INSERT INTO TESTTABLE2 (xml_file)
(SELECT XMLTYPE(bfilename('EXPORT_DUMPS','test001.xml'), nls_charset_id('WE8ISO8859P1')) from dual);
SELECT 'CD_UID'
FROM XMLTABLE('XML/records/REC/UID' passing (SELECT xml_file FROM TESTTABLE2)
COLUMNS CD_UID VARCHAR2(4000));
XML-начинается так:
<?xml version="1.0" encoding="UTF-8"?>
<records xmlns="http://xxxxxxxxxxxxxx">
<REC r_id_disclaimer="yyyyy">
<UID>UID_number</UID>
Я также попытался извлекая все данные непосредственно из файла XML, который я хранящийся в папке, в сервер Oracle, используя приведенный ниже код: Он также работает, но без вставленных строк.
INSERT INTO TESTTABLE(CD_UID)
WITH t AS (SELECT xmltype(bfilename('EXPORT_DUMPS','test001.xml'), nls_charset_id('WE8ISO8859P1')) xmlcol FROM dual)
SELECT
extractValue(value(x),'REC/UID') as CD_UID
FROM t,TABLE(XMLSequence(extract(t.xmlcol,'/records/REC'))) x;
Мне также интересно, влияет ли структура XML-файла на процедуру импорта. Я имею в виду: в моей структуре у меня есть код, который ссылается на значение, которое находится в другой таблице, но в XML у меня есть прямое имя значения ..)
Я также пробовал использовать XMLSpy для преобразования и Экспортировать в БД, но он не создает никаких связей между таблицами.
Есть ли здесь кто-нибудь, кто может помочь мне найти решение и управлять им?
Большое спасибо!
Так вы сделали? Что означает «select count (*) from TESTTABLE2« return? – OldProgrammer
0 строк вставляется. – newinIT
Кто-нибудь может мне помочь? – newinIT