oracle外部表kup-04023,kup-04040访问外部表时

我在Oracle目录中设置了一个外部表 . 数据库实例为12.1.0.2.0,操作系统为Oracle Linux .

我在/ home / oracle下创建了物理目录作为oracle用户 . 我创建了Oracle目录作为sys,并将该目录的所有内容授予模式用户 . 然后我将文件“bmw.csv”复制到该目录,该文件由oracle用户拥有 .

表的代码:

create table ext_csv_arlista (

Parts_number varchar2(50),

New_Parts_number varchar2(50),

Description varchar2(100),

DE_List_price number(8,2),

Discount_Group varchar2(10),

Purchase_price number(8,2),

BE_sales_price number(8,2)

)

organization external

(

default directory GENCARPARTS_CSV

access parameters

(

records delimited by newline

BADFILE 'ext_csv_arlista.bad'

DISCARDFILE 'ext_csv_arlista.discard'

LOGFILE 'ext_csv_arlista.log'

skip 1

fields terminated by ';' )

location ('bmw.csv')

);

当我尝试从表中选择时:

select * from ext_csv_arlista

我明白了

ORA-29913:执行ODCIEXTTABLEOPEN标注ORA-29400时出错:数据盒式磁带错误KUP-04040:找不到GENCARPARTS_CSV中的文件bmw.csv

如果我“触摸”一个文件并尝试从空文件中读取,我会得到相同的结果 .

Oracle创建日志文件,其中包含:

日志文件于03/21/17 22:41:29开放

KUP-05004:警告:禁用内部源并发,因为未请求并行选择 .

KUP-04040:找不到GENCARPARTS_CSV中的文件bmw.csv

这一切都让我感到厌烦,日志文件对我来说意味着路径是正确的,oracle可以编写目录 .

ls -l:

[oracle@csuka g2]$ ls -l

total 25884

-rw-r--r--. 1 oracle oinstall 26499791 Mar 21 16:17 bmw.csv

-rw-r--r--. 1 oracle dba 1940 Mar 21 22:41 ext_csv_arlista.log

[oracle@csuka g2]$

要验证我尝试使用utl_file>访问该文件

declare

v_h utl_file.file_type;

v_l varchar2(600);

begin

v_h:=utl_file.fopen(LOCATION => 'GENCARPARTS_CSV', FILENAME => 'bmw.csv', OPEN_MODE => 'r');

for v_i in 1..5

loop

utl_file.get_line (v_h,v_l);

dbms_output.put_line (v_l);

end loop;

utl_file.fclose(v_h);

end;

utl_file成功没有问题 .

我错过了什么?

干杯

克里斯蒂安

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值