首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SpringBoot项目中的AS400 JDBC驱动程序问题

SpringBoot项目中的AS400 JDBC驱动程序问题
EN

Stack Overflow用户
提问于 2021-10-15 15:53:40
回答 1查看 233关注 0票数 1

我有一个Spring Boot应用程序,可以连接到多个数据库- Oracle,SQLServer,DB2,MySQL等。

我通过Gradle依赖项导入必要的JDBC驱动程序:

代码语言:javascript
运行
复制
implementation 'mysql:mysql-connector-java:8.0.22'
implementation ('com.microsoft.sqlserver:mssql-jdbc:8.4.1.jre8')
implementation group: 'com.oracle.database.jdbc', name: 'ojdbc8', version: '19.9.0.0'
implementation group: 'com.ibm.db2', name: 'jcc', version: '11.5.6.0'

以此类推。它们都工作得很好。

我现在需要连接到AS400服务器上的DB2。有两个潜在的驱动程序:一个是通过带有许可证的DBConnect,或者是开源的JT400库。我正在使用后者。

我在同一个build.gradle文件中添加了以下依赖关系语句:

代码语言:javascript
运行
复制
implementation group: 'net.sf.jt400', name: 'jt400', version: '10.6'

刷新依赖项将按预期下载库。我甚至可以在启动应用程序时看到它列在类路径声明中:

代码语言:javascript
运行
复制
[...]681a/jjwt-0.9.1.jar:/home/paul/.gradle/caches/modules-2/files-2.1/net.sf.jt400/jt400/10.6/3f391a43632a93874dd3f544d7cb5a91b7a02380/jt400-10.6.jar:/home/paul/.gradle/caches/modules-2/files-2.1/...

但是,如果我尝试连接到AS400 URL,则在尝试连接时会收到"No suitable found“。

当尝试连接时,我可以调试到应用程序中,并尝试Class.forName("com.ibm.as400.access.AS400JDBCDriver")并收到类未找到异常。如果我打开引用的jar文件,命名的类就会按预期存在。

我在命令行上使用这个特定的jar构建了一个小的样例应用程序,它可以完美地执行(响应是预期的,因为我还没有指向实际的AS400服务器)。

代码语言:javascript
运行
复制
paul@paul-adm-dev:~/$ java -cp .:/home/paul/.gradle/caches/modules-2/files-2.1/net.sf.jt400/jt400/10.6/3f391a43632a93874dd3f544d7cb5a91b7a02380/jt400-10.6.jar AS400ConnectionExample 
java.sql.SQLException: The application requester cannot establish the connection. (Connection refused (Connection refused))

我尝试将依赖项更改为编译和过时的运行时,但都无济于事。我甚至在组成整个应用程序的其他子项目中尝试了导入,但总是得到相同的结果。

我被难住了。什么可能导致这一个单独的库不能加载?

EN

回答 1

Stack Overflow用户

发布于 2021-10-20 00:50:37

解决了。叹一口气。

尽管有自己的文档,这个特定的驱动程序不会自动注册到SQL驱动程序管理器。

在负责创建连接的组件的静态初始化器中添加Class.forName("com.ibm.as400.access.AS400JDBCDriver")解决了这个问题。不知道为什么它在调试会话评估窗口中没有做到这一点,但至少现在我知道为什么这个驱动程序不像其他驱动程序那样“直接工作”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69587442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档