---------------------------------------------------
1把sql语句写到一个文件里面 比如 input.sql
这个文件里写上
use master
go
restore database yourdb from disk='d:\yourdb .bak' with replace
2然后dos下用isql命令调用这个文件
bat 文件里写上,
isql -E -i input.sql
----------------如果不行就多百度几下,isql本身有才行。没有就改成sqlcmd 使用一下,但是没有-E参数,但是 -i 是文件名是一样的。
因为有路径问题,所以不好玩。建议你用sqldmo 这种方式。你百度 sqldmo
写的比我好,甚至有源代码。
--------------------------------
刚用了一下sqlcmd 这个方式
写一个bat 文件
内容是:
sqlcmd -S . -i C:\a.sql -o C:\v.txt
pause
把结果输入到v.txt ,那个 -S 后是一个 点代表本机。
a .sql 内容是:
use master
go
restore database yourdb from disk='c:\yourdb.bak' with replace
然后双击执行了一下
v.txt 的内容是:
已将数据库上下文更改为 'master'。
已为数据库 'yourdb',文件 'HR_data1' (位于文件 1 上)处理了 184 页。
已为数据库 'yourdb',文件 'HR_data2' (位于文件 1 上)处理了 8 页。
已为数据库 'yourdb',文件 'HR_log' (位于文件 1 上)处理了 1 页。
RESTORE DATABASE 成功处理了 193 页,花费 0.106 秒(14.915 MB/秒)。
1,bat文件(替换方括号中的内容)db2 connect to [数据库别名] user [用户名] using [密码]
db2 import from 'D:\Temp\backup.del' of del insert_update into [表名(字段列表)]
db2 connect reset
2,调用
db2cmd bat文件
注意事项:
1,目标表需要定义主键
2,数据文件的字段顺序需要与语句中的字段顺序一一对应
3,若数据文件较大,需要在import命令增加COMMITCOUNT的选项
4,db2cmd的调用需要确认是否配置了环境变量,否则需要在db2客户端的目录下执行
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)