Oracle sqlldr:我可以同时使用逗号分隔符字段terminate和可选的include吗?

Oracle sqlldr:我可以同时使用逗号分隔符字段terminate和可选的include吗?,oracle,sql-loader,Oracle,Sql Loader,我有一个CSV文件,其中包含了世界著名歌手的名单。我想使用SQLLDR将此文件导入Oracle DB 包含歌手。csv是: number,name,follower 1,Prince,100 2,Ludacris,100 3,Bruno Mars,100 4,Madonna,100 5,Miley,Cyrus,100 6,Britney,Spears,100 control.ctl OPTIONS (SKIP=0, errors=12000) LOAD DATA APPEND INTO

我有一个CSV文件,其中包含了世界著名歌手的名单。我想使用SQLLDR将此文件导入Oracle DB

包含歌手。csv是:

number,name,follower
1,Prince,100
2,Ludacris,100
3,Bruno Mars,100
4,Madonna,100
5,Miley,Cyrus,100
6,Britney,Spears,100
control.ctl

OPTIONS (SKIP=0, errors=12000) 
LOAD DATA  
APPEND INTO TABLE singers_tb 
FIELDS TERMINATED BY "," 
optionally enclosed by '"' 
TRAILING NULLCOLS
(number ":number", name "TRIM (:name)",follower ":follower")
歌手

create singers_tb (
number varchar2(3),
name varchar2(255),
follower number
)
错误消息

Record 5: Rejected - Error on table singers_tb, column FOLLOWER.
ORA-01722: invalid number
Record 6: Rejected - Error on table singers_tb, column FOLLOWER.
ORA-01722: invalid number
我知道错误的原因是
Britney,Spears
Miley,Cyrus
上的逗号(,)

如果我仍然想使用以“,”结尾的
字段,如何解决这些问题


非常感谢您的建议。

您的控制文件已经有:
可选地包含在“”
中。
请确保数据提供程序确实提供了包含分隔符的任何字段,这些字段都用双引号括起来。

您的控制文件已经有:
可以选择用“”
括起来。
请确保数据提供程序确实提供了包含分隔符的任何字段,这些字段都是用双引号括起来的。

您能否更改输入数据的格式,例如,将字段用单引号括起来?顺便问一下,你对泰勒·斯威夫特有什么不满吗?@Tim Biegeleisen:哦……没有。这只是一个例子:)。。。顺便说一句,我无法更改格式。最后两行中额外的
正在将Cyrus ans Spears推入
followers
列。CSV本身存在问题。如果你在excel中打开CSV,你可以清楚地看到。我不明白。如果您拥有
singers.csv
,为什么您不能更改它?您可以更改输入数据的格式,例如通过将字段括在单引号中?顺便问一下,你对泰勒·斯威夫特有什么不满吗?@Tim Biegeleisen:哦……没有。这只是一个例子:)。。。顺便说一句,我无法更改格式。最后两行中额外的
正在将Cyrus ans Spears推入
followers
列。CSV本身存在问题。如果你在excel中打开CSV,你可以清楚地看到。我不明白。如果您拥有
singers.csv
,为什么不能更改它?