2017-07-19 14 views
0

因此,我处理许多大型Web应用程序,每个应用程序都可以轻松地进行数百个查询。如何将表映射到基于Java的Web应用程序以便简化数据库迁移

使用的技术很简单 - jsp/servlets + business & java + jdbc中的dao图层。我们使用IBM DB2作为数据库。

我们正在迁移数据库。这将一批一批地完成,这意味着一次只能移动几张表格。我不控制数据库方面的决策,整个过程应该会持续一年。

但是,我确实面临风险。因此,假设表1和表2之间存在连接,并且表1不再存在于旧数据库中。然后,我的一个应用程序中的查询将失败。

那么,有没有一种工具可以告诉我哪些应用程序使用哪些表格,以便我可以计划相应地迁移我的应用程序。有点像一个爬虫,但对于Java?

我知道我可以为此写一些东西,但是如果一个工具已经存在,这将为我节省很多的努力。

回答

1

存在多种方法。

  • 如果每个应用程序使用一个唯一的帐户连接到数据库,那么DB2 DBA可以记录所有的SQL(无论是动态还是静态)通过该帐户运行。当DB2服务器在Linux/Unix/Windows上运行时,这是微不足道的,但是当DB2服务器运行在AS/400(i系列)或Z系列上时,这在政治上更为尴尬。使用所有的SQL,您可以执行自己的解析来查找依赖关系和关系。

  • 如果应用程序在连接到数据库时共享一个共同帐户,那么DB2 DBA可以额外过滤应用程序服务器的IP地址,以获取从这些IP地址运行的SQL。

  • 根据所使用的应用程序服务器和使用的jdbc客户端,还可以在不涉及DB2 DBA的情况下在应用程序服务器上使用jdbc跟踪(影响性能)。您可以在非prod服务器上执行此操作,但您需要在用于运行该应用程序的工具中100%覆盖SQL。

0

利用JPA或hibernate。它将用户类映射到数据库应用程序中的表,因此您只需运行应用程序并创建所有表。在可能删除任何表的情况下,JPA或hibernate会立即使用映射到db的类中的定义重新创建表。

相关问题