java - JT400 无法从 IBMi 机器连接但在 Windows 机器上工作
问题描述
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 机器的更多详细信息是:
- 连接配置文件中使用的用户名没有访问权限问题
- IBMi 机器上没有设置防火墙
- TCP/IP 配置已按照说明进行验证 -在 IBM i 上配置 TCP/IP