两个数据库之间导数据我个人觉得最好还是用bcp批量导入好一些,不会容易出错,而且速度也快,下面就是我最近用过的一个小例子:
@ECHO OFF
SET SOURCE_SERVER=192.88.88.888 ----数据源数据库
SET SOURCE_USER=username
SET SOURCE_PASSWORD=userpassword
SET DESTI_SERVER=username ---目标数据库
SET DESTI_USER=boss_dev
SET DESTI_PASSWORD=userpassword
IF [%1]==[] GOTO USUAGE
bcp %1 out %1.txt -w -U"%SOURCE_USER%" -S"%SOURCE_SERVER%" -P"%SOURCE_PASSWORD%" -t"{||}" -r"{++}" -k -L 100 ----这里可以限制导入数据的行数
IF /I NOT [%2]==[Y] GOTO IMPORT
osql -U"%DESTI_USER%" -S"%DESTI_SERVER%" -P"%DESTI_PASSWORD%" -Q"truncate table %1"
:IMPORT
bcp %1 in %1.txt -w -U"%DESTI_USER%" -S"%DESTI_SERVER%" -P"%DESTI_PASSWORD%" -t"{||}" -r"{++}" -k -E
del %1.txt /Q
:USUAGE
@ECHO ON
使用方法:进入文件所在的盘符,输入如下的命令即可:
import table Y(这里是目的表,不要忘了加一个Y,表示同意执行)