批处理命令 建表和导数据
一 连接数据源
【1】 文件名 env_db.bat
【2】 文件内容
set oracle_url=zlj/zlj@mwdb_10.40.33.248
rem 系统管理语种类型(en,cn)
set lang=cn
二 创建表
【1】文件名 createTable.bat
【2】文件内容
if "%oracle_url%" == "" call env_oracle.bat
sqlplus %oracle_url% @oracle_list.sql
rem find "ERROR at" to cerntain right
【3】 文件名 oracle_list.sql
【4】 文件内容
set echo on
spool log/predb_oracle.log
@xxx.sql /** 每张表的建表语句*/
spool off;
set echo off;
exit;
三 导入数据
【1】文件名 loadData.bat
【2】文件内容
if "%oracle_url%" == "" call env_oracle.bat
sqlldr %oracle_url% control=ctl/xxx.ctl log='log/xxx.log'
【3】xxx.ctl
内容
load data infile '../data/%lang%/xxx.unl'
replace into table acsinfo
fields terminated by "|"
(acsid,address,acsport,ftpname,ftppassword,ftppath,acsdes)
【4】xxx.log
显示需要显示的日志
例如
SQL*Loader: Release 9.2.0.1.0 - Production on 星期一 7月 11 10:41:09 2011
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
控制文件: ctl/acsinfo.ctl
数据文件: ../data/cn/acsinfo.unl
错误文件: ctl/acsinfo.bad
废弃文件: 未作指定
:
(可废弃所有记录)
加载数: ALL
跳过数: 0
允许的错误: 50
绑定数组: 64 行,最大 256000 字节
继续: 未作指定
所用路径: 常规
表ACSINFO
已加载从每个逻辑记录
插入选项对此表REPLACE生效
列名 位置 长度 中止 包装数据类型
------------------------------ ---------- ----- ---- ---- ---------------------
ACSID FIRST * | CHARACTER
ADDRESS NEXT * | CHARACTER
ACSPORT NEXT * | CHARACTER
FTPNAME NEXT * | CHARACTER
FTPPASSWORD