Подключение к БД Oracle

290
26 декабря 2017, 16:52

Есть БД на удаленном сервере. Пытаюсь подключиться так

db.host = jdbc:oracle:thin:@10.10.4.113:1521:med
db.user = meduser
db.password = 123456

Класс для подключения

public class DBConnection {
    public static Connection getConnection() throws SQLException, IOException {
        Properties properties = new Properties();
        try (InputStream in = Files.newInputStream(Paths.get("db.properties"))) {
            properties.load(in);
        }
        String host = properties.getProperty("db.host");
        String user = properties.getProperty("db.user");
        String password = properties.getProperty("db.password");
        return DriverManager.getConnection(host, user, password);
    }
}

Вот что выдает при выполнении запроса

Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: таблица или представление пользователя не существует

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:195) at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:876) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296) at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1498) at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:406)

Answer 1

Вам надо взять из TNS имя хоста, в вашем случае IP, порт и SID (считайте, что это имя базы данных). Имея эти параметры вы сможете построить URL строку подключения к серверу Oracle. См. тут. Например, Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@<HOST>:<PORT>:<SID>", "<USERNAME>", "<PASSWORD>");

READ ALSO
JavaFX, Рисование на Canvas

JavaFX, Рисование на Canvas

Как рисовать на одном Canvas из разных классов? Проблема в том, что при обращении к canvas из разных классов возвращаются разные ссылки

254
Бот для чат приложения android [требует правки]

Бот для чат приложения android [требует правки]

ЗдравствуйтеНадо нужно написать бота для чат-приложения

188