- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Oracle 目录中设置了一个外部表。数据库实例是12.1.0.2.0,操作系统是Oracle Linux。
我以oracle用户在/home/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 成功,没有问题。
我错过了什么?
干杯
克里斯蒂安
最佳答案
好吧,我不知道为什么会这样,但我以根目录重新创建了目录
mkdir /g2
chwown oracle:dba /g2
chmod 777 /g2
su - oracle
cp /home/oracle/g2/bmw.csv /g2
可能与/home/oracle 的设置方式有关。真正奇怪的是 utl_file 完美运行,可以创建日志文件,等等....
关于oracle - 访问外部表时出现 kup-04040,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42938852/
我在 Oracle 目录中设置了一个外部表。数据库实例是12.1.0.2.0,操作系统是Oracle Linux。 我以oracle用户在/home/oracle下创建了物理目录。我将 Oracle
我尝试使用不同的底层文件内容多次读取同一个 Oracle 外部表。 我使用带有如下代码片段的 java 应用程序: int sptepn = 1; for (File file: files) {
我是一名优秀的程序员,十分优秀!