【发布时间】:2019-09-17 08:49:47
【问题描述】:
我在尝试连接到数据库时需要帮助来否定此堆栈跟踪:
java.net.SocketException: Invalid argument: create
at java.base/java.net.Socket.createImpl(Unknown Source)
at java.base/java.net.Socket.connect(Unknown Source)
at com.ibm.db2.jcc.t4.x.run(x.java:49)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at com.ibm.db2.jcc.t4.a0.a(a0.java:436)
at com.ibm.db2.jcc.t4.a0.<init>(a0.java:96)
at com.ibm.db2.jcc.t4.a.b(a.java:366)
at com.ibm.db2.jcc.t4.b.newAgent_(b.java:2164)
at com.ibm.db2.jcc.am.Connection.initConnection(Connection.java:839)
at com.ibm.db2.jcc.am.Connection.<init>(Connection.java:784)
at com.ibm.db2.jcc.t4.b.<init>(b.java:350)
at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:233)
at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:200)
at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:471)
at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:113)
at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:147)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:148)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.lambda$execute$0(OpenConnectionCommand.java:93)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
我已经尽我所能在谷歌上搜索,但无法弄清楚是什么原因造成的。尝试更改文件/文件夹权限以删除任何写保护。也尝试了 IBM 的 11.5 版新驱动程序,但同样的错误仍然存在。 (同时使用 db2jcc.jar 和 db2jcc4.jar)
连接在旧版本的 Squirrel 上运行良好,依赖于 Java 1.7。版本 4.0.0 运行 Java 9,启动正常,但无法连接到数据库。
【问题讨论】:
-
v4.0.0 也适用于 java 1.8,至少对我来说在 Linux ubuntu 16.04.06 上
-
在 Windows 10 上运行。我将尝试更改 Java JRE,看看是否能解决问题。
-
它不适用于 Java JRE 8。同样的错误。
-
应该是 32 位还是 64 位 JRE?
-
squirrel-sql v4.0.0 在 Win-10 x64 (1903) 上运行良好,使用 IBM 的 Db2 v11.5 提供的 java 1.8(64 位)连接到 Db2-LUW数据库。我没有 Oracle jre。您可能有一些配置问题。
标签: java db2 socketexception squirrel-sql invalid-argument