出錯(cuò)原因:
正常輸入用戶名的口令故源,會(huì)報(bào)錯(cuò)覆山,因?yàn)镾YS是在數(shù)據(jù)庫(kù)之外的超級(jí)管理員志鞍。
解決方案:
因?yàn)镾YS是在數(shù)據(jù)庫(kù)之外的超級(jí)管理員案疲,所以我們?cè)诘卿浀臅r(shí)候构舟,要輸入口令:口令+as sysdba(比如:tp as sysdba)
另外:
1藐石、在使用PL/SQL登錄時(shí)滞诺,用戶名為sys绸吸,口令、數(shù)據(jù)庫(kù)正確的情況下娩井,以Normal連接時(shí)也一樣會(huì)拋出這個(gè)異常暇屋。這里,也需要我們將其改為以SYSDBA或SYSOPER進(jìn)行連接洞辣。
2咐刨、在CMD下使用sqlplu登陸時(shí),以下方式都可以進(jìn)行登陸:
sqlplus sys/tp@TPDB as sysdba
sqlplus / as sysdba
sqlplus sys/tp as sysdba
這是Oracle登陸問題扬霜,因?yàn)镺racle在本地的緣故定鸟。而系統(tǒng)默認(rèn)是操作系統(tǒng)認(rèn)證模式。
Oracle的認(rèn)證方式分為操作系統(tǒng)認(rèn)證和口令文件認(rèn)證2種方式著瓶,操作系統(tǒng)認(rèn)證有時(shí)候也叫本地認(rèn)證:
--操作系統(tǒng)認(rèn)證:即oracle認(rèn)為操作系統(tǒng)用戶是可靠的联予,即既然能登陸到操作系統(tǒng)那么oracle數(shù)據(jù)庫(kù)你也能登陸。
--口令文件認(rèn)證:oracle認(rèn)證認(rèn)為操作系統(tǒng)用戶是不可信任的材原,如果要訪問數(shù)據(jù)庫(kù)沸久,必須進(jìn)行再次認(rèn)證。
String userName = "sys as sysdba";
String userPass = "tp";
String driverName = "oracle.jdbc.driver.OracleDriver";
String dataBaseUrl = "jdbc:oracle:thin:@192.168.20.13:1521:ORCL";