У меня есть программа, которая требует использования соединителя 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
но обновлялся, чтобы проверить, будет ли работать последняя версия или если старая версия несовместима?
Используйте синтаксис ниже для получения нового соединения.
// 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
Использовать oracle.jdbc.OracleDriver
как oracle.jdbc.driver.*
Class.forName()
с 2007 года. КClass.forName()
URL вы подключаетесь? Похоже, что вы на самом деле используетеjdbc:odbc
URl, который больше не поддерживается в Java 8.