如何从java代码运行informix dbexport

时间:2014-09-11 13:52:42

标签: java informix

我有一个数据转换列表,我必须通过java代码应用于Informix数据库,但首先我需要在任何数据操作之前备份我的数据库。 现在我手动执行此操作: 1.在命令行上运行“dbexport [dbname]” 2.检查dbexport是否成功(我只是查看cmd中的日志,看看是否有任何错误) 3.如果一切正常,则启动java程序

现在我想自动化这个过程。我的问题是如何从java代码执行dbexport,最重要的是如何验证dbexport是否成功? 其他问题:我的数据库可以不时从另一个应用程序锁定,因此“dbexport [dbname]”返回异常“数据库已锁定”。并停止执行。我想在我的java代码中获取此信息并延迟导出过程一段时间。是否有像这样的东西的库。谢谢

2 个答案:

答案 0 :(得分:0)

我不知道是否有办法直接从Java调用dbexport,但我知道你可以这样在OS上执行命令:

Process p = Runtime.getRuntime().exec("your command here...");
StringBuilder sb= new StringBuilder("");
p.waitFor();

// Read the lines generated by the execution
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";           
while ((line = reader.readLine())!= null) {
    sb.append(line + "\n");
}

也许你可以用这种方式调用你的dbexport,一旦完成,你就去阅读你的日志(也可以用Java完成),如果一切正常,你就可以继续你想要的了。

答案 1 :(得分:0)

您可以通过SYSTEM语句调用任何OS命令。在IBM Knowledge Center中查找您的特定操作系统和Informix版本。

希望它有所帮助。 问候。