数据库架构更改 - Db2

时间:2016-06-06 17:05:59

标签: java database db2 schema

有没有办法使用Java for DB2来识别以下内容?

  1. 新列添加到表格
  2. 在表格中重命名的列
  3. 表格中删除的列
  4. 视图中是否还可以使用上述3?

1 个答案:

答案 0 :(得分:0)

Java程序可以轻松查询DB2以获取视图,表和列的当前定义(通过读取相应的SYSCAT视图),但DB2不会自动维护DDL更改的审计跟踪。您的Java程序需要定期连接到数据库,执行查询以捕获它关注的完整对象定义集,然后将结果与先前运行的定义进行比较,以查看是否有任何重要更改。如果您决定采用这种方法,我建议您在查询中使用ORDER BY来强制执行您要比较的结果集中的一致排序顺序。

您可能需要考虑使用db2look实用程序来反向设计实时数据库(或部分数据库),而不是使用手动SQL将对象定义从系统目录视图中提取出来。进入DDL脚本。权衡是db2look无法从JDBC连接运行;该命令使用的可执行文件只能在本地DB2服务器上运行,或者通过DB2的数据服务器客户端(完整或运行时)从远程系统运行。