java中使用JDBC如何备份DB2数据库??

梦想成了相扑 2003-10-21 01:50:36
如题。

我的做法:
Statement stmt = con.createStatement();
String sql = "restore database sample from e:\\db2bak taken at 20031021110324 with 2 buffers buffer 1024 without prompting";
int ret = stmt.executeUpdate(sql);

但执行时有异常抛出,[IBM][CLI Driver][DB2/NT] SQL0007N 跟在"abase sample from e:"之后的字符"\"无效。SQLSTATE=42601

据说这样直接做不行,需要添加一个设备(device)?如何做??
请各位大侠出手相救!!
多谢。
...全文
160 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liudonghan 2003-10-22
  • 打赏
  • 举报
回复
高人!!
I 服了 U!!
梦想成了相扑 2003-10-22
  • 打赏
  • 举报
回复
看来还是我自己解决吧,希望也给后来人一个参考!!

[原创@BY Ilymtics:]
Process pro = Runtime.getRuntime().exec("\"C:\\Program Files\\SQLLIB\\bin\\db2cmd.exe\" /c /w /i db2 -v");
java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(pro.getInputStream()));
java.io.PrintWriter pw = new java.io.PrintWriter(pro.getOutputStream());

// 把所有的应用全干掉!!,否则会提示有应用程序正在使用此数据库
pw.println("force application all");
pw.println("backup database sample user db2admin using db2admin to e:\\db2bak with 2 buffers buffer 1024");
pw.println("quit");
pw.println("exit");
pw.flush();

String line=null;
while((line=br.readLine()) != null){
System.out.println(line);
}
System.out.println("OK.");
梦想成了相扑 2003-10-21
  • 打赏
  • 举报
回复
我的任务就因此而搁浅,今天被老板骂的很不爽。请大虾们相救啊!
期待更多关注!!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧