我正在尝试通过SQL加载器实用程序将带有|
(管道)定界符的txt文件加载到Oracle表中。所有字段都用双引号引起来。但是,文件中的某些文本字段除了需要保留的双引号之外,还带有其他双引号。所有表列均定义为VARCHAR
。这是我正在使用的控制参数
OPTIONS (DIRECT=TRUE,SKIP=1)
LOAD DATA
CHARACTERSET UTF8
INFILE aaa.txt
APPEND INTO TABLE info_table
FIELDS TERMINATED BY "|"
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
这是我的示例文件
"1"|"High "Gold Tip" Tea, 600"
"2"|""10000 Beers, Wines & Spirits""
应在表中加载以下详细信息
记录1:
Column 1 - 1
Column 2 - High "Gold Tip" Tea, 600
记录2:
Column 1 - 2
Column 2 - 10000 Beers, Wines & Spirits
不幸的是,没什么可说的。
文件格式错误。您不能将值包含在这些字段本身中使用的字符中。由于数据包含双引号,因此您必须将[值括起来,而不是双引号。
但是,因为您已经使用管道字符分割了值,所以您需要什么双引号来可选地包含
这些字段值?从文件中忽略它们,您将不会有任何问题(当然,这种问题;谁知道接下来会发生什么,但这是另一回事了。)>