Подтвердить что ты не робот

Формат строки URL для подключения к базе данных Oracle с JDBC

Я новичок в веб-разработке, связанной с Java, и я не могу получить простую программу с JDBC. Я использую готовые Oracle 10g XE и Eclipse EE IDE. Из книг и веб-страниц, которые я проверил до сих пор, я сузил проблему до неправильно написанного URL-адреса базы данных или отсутствующего файла JAR. Я получаю следующую ошибку:

java.sql.SQLException: Не найдено подходящего драйвера для jdbc: oracle://127.0.0.1: 8080

со следующим кодом:

import java.sql.*;

public class DatabaseTestOne {
    public static void main(String[] args) {
        String url = "jdbc:oracle://127.0.0.1:8080";
        String username = "HR";
        String password = "samplepass";

        String sql = "SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE LAST_NAME='King'";
        Connection connection;
        try {
            connection = DriverManager.getConnection(url, username, password);
            Statement statement = connection.createStatement();
            System.out.println(statement.execute(sql));
            connection.close();
        } catch (SQLException e) {
            System.err.println(e);
        }
    }
}

Каков правильный формат для URL-адреса базы данных? Они упоминаются много, но я не смог найти описание.

EDIT (разрешение):

На основе ответа duffymo я получил ojdbc14.jar из сайт загрузки Oracle и опустил его в проекте Eclipse Referenced Libraries. Затем я изменил начало кода на

...
// jdbc:oracle:thin:@<hostname>:<port>:<sid>
String url = "jdbc:oracle:thin:@GalacticAC:1521:xe";
...

и он работал.

4b9b3361

Ответ 1

Посмотрите здесь.

Ваш URL-адрес неверен. Должно выглядеть так:

url="jdbc:oracle:thin:@localhost:1521:orcl"

Вы также не регистрируете класс драйвера. Вы хотите загрузить тонкий драйвер JAR, поместите его в свой CLASSPATH и сделайте код более похожим на this.

UPDATE: "14" в "ojdbc14.jar" означает JDK 1.4. Вы должны соответствовать версии вашего драйвера с запущенным JDK. Я уверен, что это означает JDK 5 или 6.

Ответ 2

Есть два способа установить это. Если у вас есть SID, используйте этот (более старый) формат:

jdbc:oracle:thin:@[HOST][:PORT]:SID

Если у вас есть имя службы Oracle, используйте этот (более новый) формат:

jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE

Источник: эта страница OraFAQ

Вызов getConnection() верен.

Кроме того, как сказал duffymo, убедитесь, что присутствует фактический код драйвера, включив ojdbc6.jar в путь к классам, где номер соответствует используемой версии Java.

Ответ 3

Правильный формат URL-адреса может быть одним из следующих форматов:

jdbc:oracle:thin:@<hostName>:<portNumber>:<sid>;  (if you have sid)
jdbc:oracle:thin:@//<hostName>:<portNumber>/serviceName; (if you have oracle service name)

И не кладите туда никакого места. Попробуйте использовать номер порта 1521. sid (имя базы данных) должен быть таким же, как тот, который находится в переменных среды (если вы используете окна).

Ответ 4

если вы используете oracle 10g expire Edition, а затем:
1. для загрузки класса использования  DriverManager.registerDriver (new oracle.jdbc.OracleDriver()); 2. для подключения к использованию базы данных  Connection conn = DriverManager.getConnection("jdbc:oracle:thin:username/[email protected]:1521:xe");

Ответ 5

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());         
connection = DriverManager.getConnection("jdbc:oracle:thin:@machinename:portnum:schemaname","userid","password");

Ответ 7

String host = <host name>
String port = <port>
String service = <service name>
String dbName = <db schema>+"."+service
String url = "jdbc:oracle:thin:@"+host+":"+"port"+"/"+dbName