2016-07-27 2 views
1

Я получаю follwing исключение при попытке подключения к базе данных:java.sql.SQLException: ORA-01005: задан пустой пароль; вход отказано

java.sql.SQLException: ORA-01005: null password given; logon denied 
     at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450) 
     at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:392) 
     at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:385) 
     at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:938) 
     at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:480) 
     at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:655) 
     at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249) 
     at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:416) 
     at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:825) 
     at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:596) 
     at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:715) 
     at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385) 
     at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30) 
     at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564) 
     at java.sql.DriverManager.getConnection(DriverManager.java:675) 
     at java.sql.DriverManager.getConnection(DriverManager.java:258) 
     at com.alting.db.ManagerDB.getConnection(ManagerDB.java:57) 
     at com.alting.db.ManagerDB.openConnection(ManagerDB.java:75) 
     at com.alting.med.EventGenerator.exportData(EventGenerator.java:220) 
     at com.alting.med.Main.main(Main.java:252) 

здесь метод, используемый для получения соединения:

private Connection getConnection(String url, String driverClass, String user, String password) throws ManagerDBException 
{ 
    try 
    { 
     Class.forName(driverClass); 
    } catch (ClassNotFoundException e) { 
     throw new ManagerDBException(e.getMessage()); 
    } 

    try 
    { 
     this.connection = DriverManager.getConnection(url, user, password); 
    } 
    catch (SQLException e) 
    { 
     throw new ManagerDBException(e.getMessage()); 
    } 
    return this.connection; 
} 

Но даже когда PARAMS (URL, пароль ..) жестко закодированы, я все равно получаю исключение.

Не могли бы вы рассказать мне, как исправить эту проблему? спасибо

+0

Как вы называете getConnection? – Jens

+0

Вы могли бы предоставить пароль и/или пароль? Это пустой пароль? если пустая строка 'String' равна« null »для oracle. – SomeJavaGuy

+0

ни один из параметров не является – kkung

ответ

0

похоже, что проблема связана с параметром "-Djava.endorsed.dirs" из командной строки java startup.

Удаляя это, все идет хорошо.

0

Если вы используете пустой пароль для строки, то Oracle JDBC рассмотрит этот эквивалент NULL.

+1

Ни один из параметров не пуст – kkung

0

Я видел эту ошибку при использовании JDK6, и она ушла при переключении на JDK8 (используйте последнюю версию JDK8).

1

Это сообщение решена моя проблема

java.sql.SQLException: ORA-01005: нулевой пароль, выданные; входа в систему отказано

ORA-01017 when connecting through jdbc thin driver

Добавлен -Doracle.jdbc.thinLogonCapability=o3 параметр в строку запуска Java.

Смежные вопросы