我正在尝试使用oracle外部表功能将平面文件加载到数据库中,但在我创建的外部表上执行SELECT语句时遇到错误。 以下是我正在遵循的确切步骤 -
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableStart="@drawable/abc_ic_menu_copy_mtrl_am_alpha"
android:drawableLeft="@drawable/abc_ic_menu_copy_mtrl_am_alpha"
/>
在data_1文件夹add_len.csv中创建一个文件 Barbados_1000230,2461000230,2461000230,SSLN 00 0 00 138 Barbados_1000229,2461000229,2461000229,SSLN 00 0 00 139 巴巴多斯_1000228,2461000228,2461000228,SSLN 00 0 03 14
登录sysdba - grant创建任何目录到cbusdev01cm; 授予读取权限,在DIRECTORY data_1上写入cbusdev01cm;
现在创建一个外部表 -
/user2/cbusdev01/smp43/domains/columbus/tools>mkdir data_1
/user2/cbusdev01/smp43/domains/columbus/tools>chmod 777 data_1
然后我触发SELECT语句
CREATE TABLE add_len_ext (
country_code VARCHAR2(20),
sip NUMBER,
tn NUMBER,
len VARCHAR2(30)
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY data_1
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
BADFILE data_1:'bad.bad'
LOGFILE data_1:'log.log'
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
(
country_code CHAR(50),
sip CHAR(50),
tn CHAR(50),
len CHAR(50)
)
)
LOCATION (data_1:'add_len.csv')
)
PARALLEL 5
REJECT LIMIT UNLIMITED;
Table ADD_LEN_EXT created.
它给了我 -
select * from ADD_LEN_EXT;
我没有收到此错误! 我已经批准了所有关注的许可,但错误仍然存在。
我正在使用 -
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
error opening file /user2/cbusdev01/smp43/domains/columbus/tools/log.log
29913. 00000 - "error in executing %s callout"
*Cause: The execution of the specified callout caused an error.
*Action: Examine the error messages take appropriate action.
答案 0 :(得分:1)
我没有看到create directory
声明。它是指tools
还是tools/data_1
?
错误消息提到操作系统目录/user2/cbusdev01/smp43/domains/columbus/tools
,而不是您的新data_1
子目录。