Database Oracle 11g外部表错误
我正在尝试在LinuxVM上使用Oracle11g运行一个简单的外部表程序。问题是我无法从.txt文件中查询任何数据Database Oracle 11g外部表错误,database,oracle,external,Database,Oracle,External,我正在尝试在LinuxVM上使用Oracle11g运行一个简单的外部表程序。问题是我无法从.txt文件中查询任何数据 这是我的密码: CONN / as sysdba; CREATE OR REPLACE DIRECTORY DIR1 AS 'home/oracle/TEMP/X/'; GRANT READ, WRITE ON DIRECTORY DIR1 TO user; CONN user/password; CREATE TABLE gerad
这是我的密码:
CONN / as sysdba;
CREATE OR REPLACE DIRECTORY DIR1 AS 'home/oracle/TEMP/X/';
GRANT READ, WRITE ON DIRECTORY DIR1 TO user;
CONN user/password;
CREATE TABLE gerada
(
field1 INT,
field2 Varchar2(20)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY DIR1
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ';'
MISSING FIELD VALUES ARE NULL
)
LOCATION ('registros.txt')
)
REJECT LIMIT UNLIMITED;
--Error starts here.
SELECT * FROM gerada;
DROP TABLE gerada;
DROP DIRECTORY DIR1;
以下是错误消息:
第1行出错:ORA-29913:执行ODCIEXTTABLEOPEN调用时出错
ORA-29400:数据盒带错误
打开文件home/oracle/TEMP/X/GERADA_3375.log时出错 这就是registros.txt的外观:
1234;hello world;
我已经检查了我对DIR1的权限,我确实有读/写权限
有什么想法吗?ORA-29913和ORA-29400表示您无法访问目录和/或文件 仔细查看createdirectory命令,您使用的路径可能格式错误。在创建目录时,尝试在路径的开头放一个正斜杠,并删除路径末尾的正斜杠-例如,
将目录DIR1创建或替换为“/home/oracle/TEMP/X”代码>
共享和享受。oracle process的所有者是否拥有对DIR1的读/写权限?Bob Jarvis,该代码通过使用您的建议并从位置删除扩展名“.txt”来工作。我就是不明白为什么!