spring-boot jdbc与db2的连接获取读取超时

时间:2018-08-09 15:18:43

标签: spring-boot jdbc db2 db2-luw jt400

所以我是db2的新手,必须尽快在项目中使用它,为了准备自己,我使用了db2express-c docker image

不久之后,我收到了JT400库,用于将我的应用程序连接到Docker容器。

但是,尝试连接到db2实例时,我一直读取超时。
我的jdbc-url看起来像这样jdbc:as400://127.0.0.1:50000;database name=TRFM;naming=system;thread used=false;errors=full;toolbox trace=all;trace=true;

连接到db2实例后,jdbc似乎发出了一些随机字节,但没有返回响应。
在下面,您会从跟踪中找到一些其他信息: Thread[restartedMain,5,main] Thu Aug 9 16:47:47:837 CEST 2018 Sending exchange random seeds request... Thread[restartedMain,5,main] Thu Aug 9 16:47:47:838 CEST 2018 Data stream sent (connID=337871951) ... 00 00 00 1C 01 00 E0 04 00 00 00 00 00 00 00 00 00 08 70 01 00 00 01 65 1F 28 6D 7D Thread[restartedMain,5,main] Thu Aug 9 16:47:47:838 CEST 2018 Receiving exchange random seeds reply... Thread[restartedMain,5,main] Thu Aug 9 16:48:07:842 CEST 2018 Establishing connection failed: java.net.SocketTimeoutException: Read timed out

1 个答案:

答案 0 :(得分:2)

您不能使用JT400库与Db2-for-Linux / Unix / Windows服务器通信。 相反,该驱动程序用于与Db2-for-i-Series通信。

要与Db2 for Linux / Unix / Windows一起使用,请使用Db2 for LUW客户端之一,可以从http://www-01.ibm.com/support/docview.wss?uid=swg21363866下载(需要IBM注册)。

docker容器中的Db2-express服务器是LUW的Db2。请记住,当您将Db2用于LUW时,您的URL必须遵循pattern对于LUb的Db2,如LUB知识中心的Db2所述。