我正在尝试使用 sqlldr 将数据导入 Oracle 数据库。
我正在使用这个文档,但没有成功:sqlldr和sqlldr2
描述我在做什么:
创建可变数组类型和表:
CREATE OR REPLACE TYPE fv_integer_varray_12 AS VARRAY(12) OF INTEGER NOT NULL;
CREATE OR REPLACE TYPE VC_Array_MInteger_12 AS Object (
fv_array fv_integer_varray_12,
MEMBER FUNCTION typeDimension RETURN NUMBER ,
MEMBER FUNCTION typeName RETURN VARCHAR2);
/
CREATE TABLE fv_varray_12 (
id NUMBER,
fv fv_integer_varray_12,
PRIMARY KEY (id)
);
创建控制文件:
options (errors=9999999, rows=5)
load data
characterset WE8MSWIN1252
infile '<path>'
badfile '<path>'
discardfile '<path>'
into table fv_varray_12
fields terminated by " "
( id, fv VARRAY COUNT(12) (fv))
要加载的数据是:
8 18 29 38 9 16 15 14 16 18 16 13 15
9 22 31 32 8 13 18 10 15 18 16 13 13
当我尝试通过命令加载它时:
sqlldr user/pass control=imp_fv_12dim.ctl
我得到错误:
SQL*Loader-403:表 FV_VARRAY_12 中不存在引用的列。
但这不是真的,因为 id 和 fv 列都在那里。
我的控制文件一定有问题。我该如何解决?