0
我試圖通過JDBC連接到Oracle 11g,當我在getConnection()
方法中傳遞用戶名和密碼時,我可以連接到數據庫就好了。但是,當我試圖從用戶那裏接受輸入並將其作爲參數傳遞時。通過JDBC連接oracle 11g時出現無效的用戶名/密碼(110%確定登錄憑據正確)
我面對這個錯誤
值java.sql.SQLException:ORA-01017:無效的用戶名/密碼;登錄被拒絕。
我使用Thin驅動程序,這是我的代碼看起來像:
Connection c=null;
private void getConnection() throws SQLException
{
System.out.println("Enter login credentials");
Scanner login=new Scanner(System.in);
Object Username=login.nextLine();
Object Password=login.nextLine();
System.out.println("username"+Username);
System.out.println("password"+Password);
c=DriverManager.getConnection("jdbc:oracle:thin:@//localhost:(Omitted wantedly)/XE","Username","Password");
}
我能夠通過SQL命令提示符下使用相同的憑據連接到數據庫。我也嘗試解鎖我在其中的用戶,但它也沒有幫助。請幫忙 !
在您發佈的代碼中,您傳遞的是用戶名和密碼的硬編碼字符串「用戶名」和「密碼」,而不是本地變量的用戶名和密碼。這是實際的問題還是在發佈代碼示例時出現轉錄錯誤? –
@JustinCave我通過局部變量「用戶名」和「密碼」類型對象 –
我已經找到了問題。感謝您的幫助。「用戶名和密碼的值不應該在雙重qoutes中傳遞」,並且它們的數據類型是getConnection()中不可接受的,它們必須是String類型。 –