Java JT400-从IBMi计算机拒绝JDBC连接,但从Windows计算机工作

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

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 + ";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服务器上工作
有关IBMi机器的更多详细信息如下:

  • 连接配置文件中使用的用户名没有访问权限问题
  • IBMi计算机上未设置防火墙
  • TCP/IP配置验证如下所述-

  • 数据库主机服务器是否处于活动状态?使用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上运行时可以工作。如果你找到了答案,你应该接受它(即使你回答了自己的问题)。