Java JT400-从IBMi计算机拒绝JDBC连接,但从Windows计算机工作
JT400-从windows机器连接到IBMi机器时,JDBC连接工作正常Java JT400-从IBMi计算机拒绝JDBC连接,但从Windows计算机工作,java,jdbc,port,ibm-midrange,jt400,Java,Jdbc,Port,Ibm Midrange,Jt400,JT400-从windows机器连接到IBMi机器时,JDBC连接工作正常 DriverManager.registerDriver(new com.ibm.as400.access.AS400JDBCDriver()); String sysname = "xxx.xxx.xx.xxx"; String xref = "IBMISQLLIB"; String url = "jdbc:as400://" + sysname + &quo
DriverManager.registerDriver(new com.ibm.as400.access.AS400JDBCDriver());
String sysname = "xxx.xxx.xx.xxx";
String xref = "IBMISQLLIB";
String url = "jdbc:as400://" + sysname + ";translate binary=true;prompt=false;naming=sql;libraries=" + xref;
Connection connection = DriverManager.getConnection(url, "USERNAME", "PASSWORD");
print("Connection created successfully");
但无法使用相同的代码创建连接-在同一IBMi计算机上运行代码时(通过“QSH命令条目”上的可运行jar),错误:
java.sql.SQLException:应用程序请求者无法建立
联系(远程主机拒绝了尝试的连接操作。
(连接被拒绝)在
com.ibm.as400.access.jderro.createSQLExceptionSubClass(jderro.java:887)
位于com.ibm.as400.access.jderro.throwSQLException(jderro.java:610)
位于com.ibm.as400.access.jderro.throwSQLException(jderro.java:568)
在
AS400JDBCConnectionImpl.setProperties(AS400JDBCConnectionImpl.java:3522)
在
com.ibm.as400.access.AS400JDBCDriver.prepareConnection(AS400JDBCDriver.java:1430)位于
com.ibm.as400.access.AS400JDBCDriver.initializeConnection(AS400JDBCDriver.java:1280)
在
com.ibm.as400.access.AS400JDBCDriver.connect(AS400JDBCDriver.java:403)
位于java.sql.DriverManager.getConnection(DriverManager.java:675)
getConnection(DriverManager.java:258)
你知道现在出了什么问题吗
- 因为这几天前还有效
- 同样的代码在其他IBMi服务器上工作
数据库主机服务器是否处于活动状态?使用WRKACTJOB查看作业名称QZDASOINIT是否正在运行
如果没有,请尝试使用命令STRHOSTSVR*DATABASE启动主机服务器。如果您是从QSH运行jar文件,则需要确保允许多线程。那可能会把事情搞砸 如果相同的代码在PC上工作,那么它应该可以正常工作,除非您可能也在使用不同版本的jt400.jar文件 还可以尝试使用localhost而不是系统名称
甚至编写一个小Java类来打开和关闭连接。问题与默认TCP/IP端口有关,该端口未侦听JDBC连接请求 最后,通过重启IBMi机器,问题得到了解决
:)我认为这是值得重新打开的,它似乎相当特定于在IBMi上本地运行的Java。我没有看到任何关于可能是OP问题的相关问题的答案。我很好奇OP see使用本机驱动程序的行为是否相同
com.ibm.db2.jdbc.app.DB2Driver
和“jdbc:db2://localhost”
也可以在连接上使用“driver”=“native
”properties@Kishore_2021-如果你看到“重新打开”“作为标签下的选择,您可以投票重新打开自己的问题。此外,无论此问题是否重新打开,您都可以尝试在其他地方寻求帮助。最好的可能是最好的。您必须订阅(免费)并等待管理员启用后才能发布,但他通常会在一天内回复。我建议至少订阅,但也可以订阅任何你感兴趣的东西。它似乎和你有直接关系,也可能与你有直接关系。另一个选项是.OP,它有点命中或未命中,但是当它命中时是立即的,它提到Java程序在从PC上运行时可以工作。如果你找到了答案,你应该接受它(即使你回答了自己的问题)。