Java: проблема с кодом для подключения к базе данных - PullRequest
0 голосов
/ 16 января 2020

Я хочу скомпилировать этот Java код. так что я могу подключиться к локальной базе данных Oracle. Но мой код не работает правильно. Ошибка:

Driver myDriver = new oracle.jdbc.driver.OracleDriver();

Подскажите, пожалуйста, как мне заменить эту строку?

package DB_Oracle_Connection;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;

public class dbconf {

private String connstr;
private Connection connect;
public Connection getConnection() throws SQLException {
        connstr = "jdbc:oracle:thin:@localhost:1521:orcl";

        try {
                String uname = "scott";
                String pass = "tiger";

                Driver myDriver = new oracle.jdbc.driver.OracleDriver();
                DriverManager.registerDriver( myDriver );                  


                connect = DriverManager.getConnection(connstr, uname, pass);

        } catch (Exception e) {
            System.out.println(e.toString());
        }

            return connect;
    }
}

Ответы [ 3 ]

1 голос
/ 16 января 2020

Путь к классу драйвера должен быть oracle .jdb c .OracleDriver (), тогда как вы записали его как oracle .jdb c .driver.OracleDriver ()

0 голосов
/ 16 января 2020

Требуется следующий код:

Class.forName("oracle.jdbc.driver.OracleDriver"); 
connect = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");

Обратите внимание, что вам нужен Oracle JDB C Драйвер в classpath. Вы можете скачать драйвер, соответствующий вашей версии Oracle, например, проверить https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html

После загрузки вы можете выполнить одно из следующих трех действий:

  1. Поместите его в папку jre / lib / ext
  2. Если в вашей системе нет переменной среды CLASSPATH, создайте ее и добавьте путь к драйверу (файлу jar) в CLASSPATH
  3. Если вы запускаете программу из командной строки, вы можете установить драйвер для пути к классам, используя команду, set classpath=%classpath%;.;path-of-the-driver-jar-file
0 голосов
/ 16 января 2020

Используйте Class.forName для загрузки драйвера. См. Код ниже.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Dbconf {

    private String connstr;
    private Connection connect;

    public Connection getConnection() throws SQLException {
        connstr = "jdbc:oracle:thin:@localhost:1521:orcl";

        try {
            String uname = "scott";
            String pass = "tiger";

            Class.forName("oracle.jdbc.driver.OracleDriver");

            connect = DriverManager.getConnection(connstr, uname, pass);

        } catch (Exception e) {
            System.out.println(e.toString());
        }

        return connect;
    }
...