我正在设置一个Spring-boot应用程序以连接到HP NonStop Tandem的SQL / MX。首先,我通过在应用程序的服务部分中对jdbc参数(例如dataSource,URL等)进行硬编码来实现这种连接,并且它可以正常工作(我能够通过执行查询来访问表)。
现在,我正在尝试删除硬编码部分,并将与数据库相关的信息存储在application.properties文件中,但是现在出现以下错误
org.springframework.jdbc.support.MetaDataAccessException:JDBC驱动程序未实现的JDBC DatabaseMetaData方法-升级驱动程序;嵌套异常是java.lang.AbstractMethodError:方法com / tandem / t4jdbc / SQLMXConnection.isValid(I)Z是抽象
有人可以帮助我了解根本原因吗?硬编码数据源详细信息时使用了相同的驱动程序jar,但当在application.properties中具有数据源属性并且需要升级到jar时,该驱动程序却无法工作。
答案 0 :(得分:0)
我最近也遇到了同样的问题,对我来说,我使用的是JDBC 3型驱动程序。但是我的spring实现仅支持4型驱动程序,因此,当尝试调用上面链接的方法时,会导致错误。
我建议您为特定的数据库寻找4型驱动程序,并查看是否可以解决您的问题。
答案 1 :(得分:0)
在Spring Boot应用程序,JTDS驱动程序和Hikari连接池中使用Spring Data JPA时,遇到了相同的异常。就我而言,我发现以下问题解决了这个问题:
检查com.zaxxer.hikari.pool.PoolBase类,可以看到以下内容:
this.isUseJdbc4Validation = config.getConnectionTestQuery() == null;
因此,如果配置了连接测试查询,将不尝试JDBC 4验证。在Spring Boot应用程序中,可以这样完成:
spring.datasource.hikari.connection-test-query=select 1;
很遗憾,我对T4SQLMX驱动程序没有任何经验,但是希望它可以有所帮助。