我正在使用db2数据库,我想获得所有对象的ddl(数据定义语言),如表,函数,视图等。
我在DB2命令窗口中使用db2look命令,它正常工作,我正在获取所有对象的模式。命令是: -
db2look -d sample -a -e -x -o fileout.txt
现在我正在创建java应用程序,我想在其中执行以下命令,但它无法正常工作: -
connection = DriverManager.getConnection(url, user, password);
stmt = connection.createStatement();
rs = stmt.executeQuery("execute db2look -d sample a -e -x -o FIlE_OUT.txt");
例如,我们可以使用ddlgen命令在syabse中获取ddl,我们可以将它与java一起使用。在db2数据库中我也想使用db2look命令
所以请建议我如何在java中使用db2look命令。
答案 0 :(得分:0)
如果Java在运行db2look可执行文件的同一主机名上运行,则只能执行此操作。如果已对数据库进行编目并在db2look命令行上提供凭据,并且凭据在数据库上具有正确的授权,则实际数据库可以是远程数据库。
要运行db2look,请使用首选方法从java执行外部程序。这是一个经常被问到的问题“从java运行外部程序”,所以开始你的研究。
您的代码示例不正确,因为db2look 不是SQL ,它是一个外部命令。您不能将executeQuery
用于外部命令。
查看描述从java运行外部命令的选项的许多页面,例如here。