在我们的 Batch 项目中,我们运行一个 shell 脚本,该脚本又调用一个 Web 服务。我们的要求是在 DB 2 数据库上运行一个选择查询并获取 1000 个 A_TYPE 帐户,然后我们将不得不使用这些帐户来获取一个列表通过在来自 ORACLE DB 的准备好的语句中使用 A_TYPE 帐户来统计其他帐户(A_TYPE、B_TYPE 列)。
问题是,对于每 1000 个 A_TYPE 帐户,我必须准备语句 1000 次并执行 1000 次才能获得 B_TYPE 帐户。这是耗时且效率不高的。
因此,如果有人可以建议我一种方法来传递 A_TYPE 帐户的列表或数组,然后获取 A_TYPE、B_TYPE 帐户的列表或哈希图,以便我可以进一步使用它们,那将非常有帮助。此外,我必须使用 B_TYPE 帐户代替 A_TYPE 帐户来更新我的 Db2 DB。我所有的逻辑都是用 Web 服务操作(JAVA)本身编写的。
更新:
是的,我通过 JNDI 名称直接访问数据库。在 web 服务处理程序逻辑中,我将调用两个数据库。我不知道使用的 DB2 版本,因为我使用 JNDI 名称访问它,Oracle 是 10 gi,有类似的查询
SELECT A_TYPE account from ADB2 TABLE based on conditions (?,?) FETCH 1000 records only"` and `SELECT A_TYPE_Account,B_TYPE_Account from ORACLE_TABLE where A_TYPE_Account='?(A_TYPE)'
不,我不必担心事务。我不知道主机变量和 DB2 动态查询。