rel*_*lyt 6 sql csv oracle controlfile sql-loader
我正在尝试从文件加载数据,我想将CREATED_DATE和UPDATED_DATE设置为SYSDATE,将CREATE_BY和UPDATED_BY设置为USER
这是我正在使用的表格:
CREATE TABLE CATALOG
(CNO NUMBER,
CTITLE VARCHAR2(25),
CREATED_BY VARCHAR2(10) NOT NULL,
CREATED_DATE DATE NOT NULL,
UPDATED_BY VARCHAR2(10) NOT NULL,
UPDATED_DATE DATE NOT NULL,
CONSTRAINT CATALOG_PK Primary Key (CNO));
Run Code Online (Sandbox Code Playgroud)
这是数据文件:
1,"Title 1"
2,"Title 2"
3,"Title 3"
4,"Title 4"
5,"Title 5"
6,"Title 6"
Run Code Online (Sandbox Code Playgroud)
和我的控制文件:
LOAD DATA
INFILE "mydata.csv"
INTO TABLE CATALOG
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
(CNO,CTITLE,CREATED_BY "USER", CREATED_DATE "SYSDATE", UPDATED_BY "USER", UPDATED_DATE "SYSDATE")
Run Code Online (Sandbox Code Playgroud)
当我尝试使用SQL Loader加载它时...所有记录都被拒绝:
Record 1: Rejected - Error on table CATALOG, column CREATED_BY.
Column not found before end of logical record (use TRAILING NULLCOLS)
Record 2: Rejected - Error on table CATALOG, column CREATED_BY.
Column not found before end of logical record (use TRAILING NULLCOLS)
.......
Run Code Online (Sandbox Code Playgroud)
我有什么想法我做错了吗?提前致谢.
只要做Oracle所说的:添加TRAILING NULLCOLS
到您的控制文件:
LOAD DATA
INFILE "mydata.csv"
INTO TABLE CATALOG
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
(CNO,CTITLE,CREATED_BY "USER", CREATED_DATE "SYSDATE", UPDATED_BY "USER", UPDATED_DATE "SYSDATE")
Run Code Online (Sandbox Code Playgroud)
这是必需的,因为只有前两列在输入文件中.剩下的是纯粹计算的.
如果您没有指定它,Oracle会尝试读取第三个,第四个等列,但找不到.
归档时间: |
|
查看次数: |
34208 次 |
最近记录: |