I know we can use oracle functions within sqlldr, while I follow the format, but got some error, anybody know why? Thanks. here is a snippet of my control file; load data infile "offer_ref.dat" truncate into table OFFER_REF fields terminated by "|" ( "OFFER_ID", "RESELLER_VERSION_ID", "OFFER_TYPE", "IS_A_LA_CARTE" "nvl(:is_a_la_carte,0)", ) And here is log file after run sqlldr: ...
创建表:CREATE TABLE "DATA"."FUKONG_GPTINFO"( "TERMNO" NUMBER(10,0) NOT NULL , "TERMNAME" VARCHAR2 (20) NULL, "USERNO" NUMBER(10,0) NOT NULL , "BUSE" VARCHAR2(5) NOT NULL , "FLAG" NUMBER(1,0) NULL, "SYSNO" NUMBER(2,0) NOT NULL , "TS" NUMBER(1,0) NULL , ) TABLESPACE "DATA1" 控制文件 LOAD DATA INFILE "GptInfo" TRUNCATE INTO TABLE "FUKONG_GPTINFO" FIELDS TERMINATED BY X"09" (TERMNO,TERMNA...
sql load的一点小总结 sqlldr userid=lgone/tiger control=a.ctl LOAD DATA INFILE 't.dat' // 要导入的文件 // INFILE 'tt.date' // 导入多个文件 // INFILE * // 要导入的内容就在control文件里 下面的BEGINDATA后面就是导入的内容 INTO TABLE table_name // 指定装入的表 BADFILE 'c:\bad.txt' // 指定坏文件地址 ************* 以下是4种装入表的方式 APPEND // 原先的表有数据 就加在后面 // IN...
7 ***** 合并多行记录为一行记录 LOAD DATA INFILE * concatenate 3 // 通过关键字concatenate 把几行的记录看成一行记录 INTO TABLE DEPT replace FIELDS TERMINATED BY ',' (DEPTNO, DNAME "upper(:dname)", LOC "upper(:loc)", LAST_UPDATED date 'dd/mm/yyyy' ) BEGINDATA 10,Sales, // 其实这3行看成一行 10,Sales,Virginia,1/5/2000 Virginia, 1/5/2000 // 这列子用 continueif list="," 也...
比如,用sqlldr从一个2G的文本文件导到oracle,为了防止发生导到一半发生断电的事情发生, sqlldr能否做到: 1,已经commit成功的行从文本文件中删掉,以便下次导入时能从上次的断点导入. 有没有什么思路让sqlldr实现类似于断点重导的功能呢,或者整个文件只commit一次,这样内存占用太大了. [ 本帖最后由 打靶归来 于 2008-3-2 21:25 编辑 ]
想把aa.dat文件里的数据导入数据库里 文件里是以tab区分项目 也有两个tab之间没有值得情况,希望放入空值 还有日期型的,2008/01/14 16:10:20 请教怎么写ctl文件