Как использовать XMLType в управляющем файле SQL*Loader?

У меня есть csvfile, который содержит столбец данных XML. Пример записи CSV выглядит следующим образом:

1,,,<capacidade><numfields>3</numfields><template>1</template><F1><name lang="pt">Apple</name></F1></capacidade>

Я хотел бы использовать SQL*Loader для импорта всех данных в Oracle; Я определил файл CTL следующим образом:

LOAD DATA
 CHARACTERSET UTF8
 INFILE '/home/db2inst1/result.csv'
 CONTINUEIF NEXT(1:1) = '#'
 INTO TABLE "TEST"."T_DATA_TEMP"
FIELDS TERMINATED BY','
(   "ID" 
  , "SOURCE" 
  , "CATEGORY" 
  , "RAWDATA"
 )

При выполнении этого журнал ошибок показывает, что столбец RAWDATA обрабатывается как тип данных CHARACTER. Как в этом случае определить RAWDATA как XMLType, чтобы его можно было правильно вставить в Oracle?

0 ответов

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

затем создайте свой файл ctl, как показано ниже

LOAD DATA
APPEND
INTO TABLE "TEST"."T_DATA_TEMP" fields OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
( ID terminated by "," ,
 SOURCE terminated by ",", 
 CATEGORY terminated by ",", 
 RAWDATA char(4000) terminated by ","
 )
Другие вопросы по тегам