此方法比一般的导库方法快很多
步骤1:
创建一个.bat批处理文件,文件中包含如下的批处理语句:
bcp db2..tablename(表名) out .\hisall-out\hisclientloginlog.out -Usa -P123456 -S. -c -t {{{}}} >>out.txt
解释:
bcp:为数据据导出命令
db2..tablename:为sqlserver的数据库名和表名
out .\hisall-out\hisclientloginlog.out 将数据导出以out文件保存在指定的目录下
-Usa -P123456 用户名和密码
>>out.txt 导库的日志信息放在指定的目录下
步骤2:
上一步完成后再创建另外一个.bat批处理文件,文件中包含如下的批处理语句:
sqlldr hs_his/handsome@HS2008 control =.\ctl\HISHOLDSINFO.ctl errors=999999999 log=.\log\HISHOLDSINFO.log bad=.\bad\HISHOLDSINFO.bad >>loadin.txt
解释:
sqlldr :数据装载命令
hs_his/handsome@HS2008:ORACLE数据库的用户和服务名
control =.\ctl\HISHOLDSINFO.ctl :在指定的目录下必须要有一个控制文件跟目标表的表结构一致否则导入会报错如:
load data
infile '.\hisall-out\hisclientloginlog.out'
into table hs_his.hisclientloginlog
append
fields terminated by '{{{}}}'
TRAILING NULLCOLS
(
FUND_ACCOUNT ,
INIT_DATE ,
OP_ENTRUST_WAY ,
OP_STATION ,
BRANCH_NO ,
LOGIN_TIMES ,
LOGIN_TIME ,
LOGOUT_TIME ,
ONLINE_TIME ,
FAIL_LOGIN ,
FAIL_LOGINX
)
log=.\log\HISHOLDSINFO.log:导入数据的详细日志
bad=.\bad\HISHOLDSINFO.bad:导入失败的数据保存到此目录下
>>loadin.txt:整个导入过程的一提示信息