【发布时间】:2014-09-30 14:54:26
【问题描述】:
我正在尝试从 Java 调用 RPG 程序。我可以使用 DriverManager 使程序正确运行,如下所示:
Connection conn = DriverManager.getConnection("jdbc:as400://" + "sys" + "", "username", "pass");
Statement stmt = conn.createStatement();
Boolean sqlBool = stmt.execute("call DB2.PROGRAM");
但是...这不是我想要的方式。我想使用 JNDI 连接到 400 并运行程序调用,因为这是我运行 SELECT、UPDATES、DELETES 等的方式...
这是我目前的伪代码,我在 SaveObject 上的 RPG 失败。
Context context = new InitialContext();
DataSource ds = (DataSource) context.lookup(JNDI_NAME);
Connection conn = datasource.getConnection();
Statement stmt = conn.createStatement();
Boolean sqlBool = stmt.execute("call DB2.PROGRAM");
这是 JNDI 连接的问题还是 RPG 的问题?
更新:似乎当 SaveObject 作业开始工作时,它表示该表已锁定。在运行 RPG 调用之前,我正在对这个表进行插入和删除......有什么想法吗?即使我在处理后关闭与数据库的所有连接,什么会导致表仍然被锁定。
【问题讨论】:
标签: java connection db2 jndi rpg