资源描述:
《oracle-loader使用方法导入外部数据》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SQL*Loader是Oracle数据库导入外部数据的一个工具.它和DB2的Load工具相似,但有更多的选择,它支持变化的加载模式,可选的加载及多表加载.如何使用SQL*Loader工具我们可以用Oracle的sqlldr工具来导入数据。例如:sqlldrscott/tigercontrol=loader.ctl控制文件(loader.ctl)将加载一个外部数据文件(含分隔符).loader.ctl如下:loaddatainfile'c:datamydata.csv'intotableempfieldsterminat
2、edby","optionallyenclosedby'"'(empno,empname,sal,deptno)mydata.csv如下:10001,"ScottTiger",1000,4010002,"FrankNaude",500,20下面是一个指定记录长度的示例控制文件。"*"代表数据文件与此文件同名,即在后面使用BEGINDATA段来标识数据。loaddatainfile*replaceintotabledepartments(deptposition(02:05)char(4),deptnameposition(
3、08:27)char(20))begindataCOSCCOMPUTERSCIENCEENGLENGLISHLITERATUREMATHMATHEMATICSPOLYPOLITICALSCIENCEUnloader这样的工具Oracle没有提供将数据导出到一个文件的工具。但是,我们可以用SQL*Plus的select及format数据来输出到一个文件:setechooffnewpage0space0pagesize0feedoffheadofftrimspoolonspooloradata.txtselectcol1
4、
5、'
6、,'
7、
8、col2
9、
10、','
11、
12、col3fromtab1wherecol2='XYZ';spooloff另外,也可以使用使用UTL_FILEPL/SQL包处理:remRemembertoupdateinitSID.ora,utl_file_dir='c:oradata'parameterdeclarefputl_file.file_type;beginfp:=utl_file.fopen('c:oradata','tab1.txt','w');utl_file.putf(fp,'%s,%s','TextField',
13、55);utl_file.fclose(fp);end;/当然你也可以使用第三方工具,如SQLWays,TOADforQuest等。加载可变长度或指定长度的记录如:LOADDATAINFILE*INTOTABLEload_delimited_dataFIELDSTERMINATEDBY","OPTIONALLYENCLOSEDBY'"'TRAILINGNULLCOLS(data1,data2)BEGINDATA11111,AAAAAAAAAA22222,"A,B,C,D,"下面是导入固定位置(固定长度)数据示例:LOADD
14、ATAINFILE*INTOTABLEload_positional_data(data1POSITION(1:5),data2POSITION(6:15))BEGINDATA11111AAAAAAAAAA22222BBBBBBBBBB跳过数据行:可以用"SKIPn"关键字来指定导入时可以跳过多少行数据。如:LOADDATAINFILE*INTOTABLEload_positional_dataSKIP5(data1POSITION(1:5),data2POSITION(6:15))BEGINDATA11111AAAAAA
15、AAAA22222BBBBBBBBBB导入数据时修改数据:在导入数据到数据库时,可以修改数据。注意,这仅适合于常规导入,并不适合direct导入方式.如:LOADDATAINFILE*INTOTABLEmodified_data(rec_no"my_db_sequence.nextval",regionCONSTANT'31',time_loaded"to_char(SYSDATE,'HH24:MI')",data1POSITION(1:5)":data1/100",data2POSITION(6:15)"upper(:d
16、ata2)",data3POSITION(16:22)"to_date(:data3,'YYMMDD')")BEGINDATA11111AAAAAAAAAA99120122222BBBBBBBBBB990112LOADDATAINFILE'mail_orders.txt'BADFILE'bad_orde