如何在使用SQL Loader加载文件时在列中保留双引号

问题描述 投票:0回答:1

我正在尝试通过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
oracle double-quotes sql-loader
1个回答
0
投票

不幸的是,没什么可说的。

文件格式错误。您不能将值包含在这些字段本身中使用的字符中。由于数据包含双引号,因此您必须将[值括起来,而不是双引号。

但是,因为您已经使用管道字符分割了值,所以您需要什么双引号来可选地包含

这些字段值?从文件中忽略它们,您将不会有任何问题(当然,这种问题;谁知道接下来会发生什么,但这是另一回事了。)>
© www.soinside.com 2019 - 2024. All rights reserved.