Метод JDBC DatabaseMetaData не реализован драйвером JDBC(T4SQLMX)

Я настраиваю приложение Spring-boot для подключения к SQL/MX HP NonStop Tandem. Сначала я достиг этого соединения, жестко запрограммировав такие параметры jdbc, как dataSource, URL и т. Д., В разделе службы приложения, и это сработало (я смог получить доступ к таблицам, выполнив запрос).

Теперь я пытаюсь удалить жестко запрограммированную часть и получить информацию, относящуюся к моей базе данных, в файле application.properties, но теперь я получаю следующую ошибку

org.springframework.jdbc.support.MetaDataAccessException: метод JDBC DatabaseMetaData не реализован драйвером JDBC - обновите драйвер; Вложенное исключение - java.lang.AbstractMethodError: Метод com/tandem/t4jdbc/SQLMXConnection.isValid(I)Z является абстрактным

Может ли кто-нибудь помочь мне понять основную причину? Тот же самый jar-драйвер используется при жестком кодировании деталей источника данных, и он работает, но не работает при наличии свойств источника данных в application.properties и требует обновления до jar-файла.

1 ответ

Я столкнулся с тем же исключением при использовании Spring Data JPA в приложении Spring Boot, драйвере JTDS и пуле соединений Hikari. В моем случае я обнаружил, что следующее устраняет проблему:

Изучая класс com.zaxxer.hikari.pool.PoolBase, можно заметить следующее:

this.isUseJdbc4Validation = config.getConnectionTestQuery() == null;

Таким образом, проверка JDBC 4 не будет выполняться, если настроен тестовый запрос соединения. В приложении Spring Boot это можно сделать следующим образом:

spring.datasource.hikari.connection-test-query=select 1;

К сожалению, у меня нет опыта работы с драйвером T4SQLMX, но, тем не менее, надеюсь, что это может быть полезно.

Я недавно боролся с той же проблемой, для меня я использовал драйвер JDBC типа 3; но моя весенняя реализация поддерживала только драйвер типа 4, поэтому при попытке вызвать метод, который вы связали выше, это вызвало ошибку.

Я предлагаю вам найти драйвер типа 4 для вашей конкретной базы данных и посмотреть, решит ли это вашу проблему.

Другие вопросы по тегам