1

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.JDError.createSQLExceptionSubClass(JDError.java:887) 在 com.ibm.as400.access.JDError.throwSQLException(JDError.java :610) 在 com.ibm.as400.access.AS400JDBCConnectionImpl.setProperties(AS400JDBCConnectionImpl.java:3522) 在 com.ibm.as400.access 的 com.ibm.as400.access.JDError.throwSQLException(JDError.java:568)。 AS400JDBCDriver.prepareConnection(AS400JDBCDriver.java:1430) at com.ibm.as400.access.AS400JDBCDriver.initializeConnection(AS400JDBCDriver.java:1280) at com.ibm.as400.access.AS400JDBCDriver.connect(AS400JDBCDriver.java:403) at java .sql.DriverManager.getConnection(DriverManager.java:675) 在 java.sql.DriverManager.getConnection(DriverManager.java:258)

知道现在出了什么问题吗?

  • 因为这是几天前的工作
  • 相同的代码正在其他 IBMi 服务器上运行

有关 IBMi 机器的更多详细信息是:

  1. 连接配置文件中使用的用户名没有访问权限问题
  2. IBMi 机器上没有设置防火墙
  3. TCP/IP 配置已按照说明进行验证 -在 IBM i 上配置 TCP/IP
4

0 回答 0