oracle 为11g,报以下错误:
ORA-29913: 执行 ODCIEXTTABLEOPEN 调出时出错
ORA-29400: 数据插件错误KUP-04043: table column not found in external source: ID
开始创建的sql为在网上查找到:
外部表的参数部分为下面:
RECORDS DELIMITED BY NEWLINE CHARACTERSET ZHS16GBK
SKIP 10
BADFILE 'DATA_LOG_PATH':'table1.bad'
NODISCARDFILE
LOGFILE 'DATA_LOG_PATH':'table1.log'
READSIZE 1048576
FIELDS LDRTRIM
REJECT ROWS WITH ALL NULL FIELDS
(
"id" (1,4) char(4) nullif ("id" = blanks),
"name" (5,24) char(20) nullif ("name" = blanks)
)
)
按照这种创建外部表后,报错所以进行修改如下:
--创建目录对象DATA_FILE_PATH
CREATE OR REPLACE DIRECTORY DATA_LOG_PATH AS 'D:\wbb\sj'
--创建外部表
create table table8
(
id varchar2(4),
name varchar2(20)
)ORGANIZATION external
(
type oracle_loader -
DEFAULT DIRECTORY DATA_FILE_PATH
ACCESS PARAMETERS(
records delimited by newline
fields terminated by ','
optionally enclosed by '"'
missing field values are null
)
location
(
'test1.txt',
'test2.txt'
)) REJECT LIMIT UNLIMITED;
错误解决。
在Oracle 11g中创建外部表时遇到错误:ORA-29913: 执行 ODCIEXTTABLEOPEN 调用失败和ORA-29400: 数据插件错误KUP-04043,提示ID列在外部源中未找到。问题源于外部表定义中的字段映射。经过调整外部表的字段定义后,错误仍然存在。需要进一步排查数据源和外部表定义的匹配性,确保所有列名正确无误。
4617

被折叠的 条评论
为什么被折叠?



