我有一个外部表定义为:
CREATE TABLE EXAM_BDE_ventes (
customerNumber varchar(255),
clerkId varchar(255),
productId varchar(255),
saleDate varchar(255),
factoryId varchar(255)
)
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY mydirectory
ACCESS PARAMETERS
(
RECORDS DELIMITED BY newline
SKIP 0
CHARACTERSET UTF8
BADFILE logs:'ventes.txt.bad'
LOGFILE logs:'ventes.txt.log'
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
)
LOCATION ('LightSaberInc.txt'))
REJECT LIMIT UNLIMITED;
The LightSaberInc.txt
file is here,并且有近75K行。
如果我将该表作为语句查询(Ctrl + Enter),我可以看到表中的数据:
但是当我把它作为脚本(F5)运行时,我在脚本输出窗口中看不到任何内容:
日志不会显示任何错误。
我认为这个奇怪的错误是在导入csv时隐藏错误。此错误在我的代码中稍后会产生其他问题,例如在使用to_number()
时数字无法正确识别。
为什么我不能从脚本中查询外部表?
答案 0 :(得分:1)
好的,所以在脚本中我需要指定'\r\n
而不是newline
。
我想该文件是使用不使用值newline
指定新行的操作系统创建的,而是'\r\n
。