java.sql.SQLException: ORA-01005: null password given; logon denied

只谈情不闲聊 提交于 2020-01-03 11:59:09

问题


I'm getting the follwing exception while trying to connect to a database:

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)

here the method used to get the connection:

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;
}

But even when the params (url, password..) are hardcoded, I still get the exception.

Could you tell me how to fix this problem ? thanks


回答1:


This post solved my problem

java.sql.SQLException: ORA-01005: null password given; logon denied

ORA-01017 when connecting through jdbc thin driver

Added -Doracle.jdbc.thinLogonCapability=o3 parameter to the java startup line.




回答2:


If you use an empty string password Oracle JDBC will consider that equivalent to NULL.




回答3:


I've seen this error when using JDK6 and it went away when switching to JDK8 (use the latest version of JDK8).




回答4:


it appears the problem is linked to the "-Djava.endorsed.dirs" parameter from the java startup command line.

By removing this one, everything goes well.



来源:https://stackoverflow.com/questions/38609280/java-sql-sqlexception-ora-01005-null-password-given-logon-denied

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!