Можно ли использовать ojdbc7.jar с JDK8?

1

У меня есть программа, которая требует использования соединителя JDBC Oracle. В последнее время, однако, все машины здесь также были модернизированы Java JDK 1.8.

Я получаю следующую ошибку, когда пытаюсь использовать файл ojdbc7.jar, вызывая один из методов.

java.sql.SQLException: No suitable driver found for jdbc:odbc:;Rest of connection details here

Для доступа к объекту базы данных я использую следующие три строки:

//Create new connection to database
            Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
            conn = DriverManager.getConnection(jdbcURL);
            stmt = conn.createStatement();

Моя трассировка стека говорит мне, что я получаю сообщение об ошибке в строке stmt, но у меня нет ошибок компиляции.

Мне интересно, неправильно ли я использую коннектор (поскольку я изначально использовал ojdbc6.jar но обновлялся, чтобы проверить, будет ли работать последняя версия или если старая версия несовместима?

  • 2
    Вам не нужна Class.forName() с 2007 года. К Class.forName() URL вы подключаетесь? Похоже, что вы на самом деле используете jdbc:odbc URl, который больше не поддерживается в Java 8.
  • 0
    Я согласен с EJP. Даже в более ранних версиях вы не должны были использовать мост ODBC. Это глючит и медленно, как ад.
Показать ещё 1 комментарий
Теги:
jdbc

2 ответа

1

Используйте синтаксис ниже для получения нового соединения.

// Create an OracleDataSource instance and set properties
OracleDataSource ods = new OracleDataSource();
ods.setUser("USER");
ods.setPassword("PASSWORD");
ods.setURL("URL");

   // New auto closable syntax applicable to connection. This syntax will
// close the connection automatically
try (OracleConnection connection = (OracleConnection) (ods.getConnection())) { 
...}

Кроме того, ознакомьтесь с нижеприведенным FAQ JDBC по вопросу совместимости. http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-faq-090281.html#01_02

-2

Использовать oracle.jdbc.OracleDriver как oracle.jdbc.driver.*

Ещё вопросы

Сообщество Overcoder
Наверх
Меню