JDBC連接Oracle發(fā)生異常的原因
當(dāng)你通過(guò)JDBC連接Oracle數(shù)據(jù)庫(kù)時(shí)發(fā)生了異常首先應(yīng)該確認(rèn)你的JRE是否配置正確,一般oracle10g,JRE1.4以上應(yīng)當(dāng)使用ojdbc14.jar。
其次你要確定你的Java語(yǔ)法是否錯(cuò)誤,這里的語(yǔ)法是指連接數(shù)據(jù)庫(kù)的URL上的協(xié)議的格式例如:jdbc:oracle:thin:@127.0.0.1:1521:pg,淡紅色表示使用thin方式(瘦客戶機(jī))連接,黑色部分表示數(shù)據(jù)庫(kù)的IP,青色表示監(jiān)聽(tīng)程序所使用的端口默認(rèn)1521,***深紅色表示數(shù)據(jù)庫(kù)的全局ID,完整寫法應(yīng)當(dāng)為SID.Domain。
當(dāng)你確定你的程序和JRE配置正確仍有異常的時(shí)候,你需要查看一下你的Oracle網(wǎng)絡(luò)配置,一般一個(gè)監(jiān)聽(tīng)程序可以監(jiān)聽(tīng)多個(gè)數(shù)據(jù)庫(kù)實(shí)例。如果你的數(shù)據(jù)庫(kù)實(shí)例是安裝的時(shí)候由安裝程序自動(dòng)創(chuàng)建的,那么你的Oracle網(wǎng)絡(luò)配置會(huì)給你配置好的。如果你的實(shí)例是自己創(chuàng)建的,那么除了需要使用net manager配置監(jiān)聽(tīng)位置外還要為監(jiān)聽(tīng)程序配置說(shuō)要監(jiān)聽(tīng)的數(shù)據(jù)庫(kù)實(shí)例,如果監(jiān)聽(tīng)程序什么都沒(méi)配置那么將無(wú)法連接數(shù)據(jù)庫(kù)實(shí)例,如果只配置了監(jiān)聽(tīng)位置那么也能在本機(jī)上通過(guò)oracle自身的客戶端連接,不能通過(guò)程序連接。所以,作為一個(gè)開(kāi)發(fā)認(rèn)為你應(yīng)該把監(jiān)聽(tīng)程序配置完整。
本人JDBC連接Oracle異常信息:
- java.sql.SQLException: Io 異常: The Network Adapter could not establish the connection
- at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
- at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
- at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
- at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
- at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
- at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
- at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
- at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
- at java.sql.DriverManager.getConnection(Unknown Source)
- at java.sql.DriverManager.getConnection(Unknown Source)
- at tool.DbConnect.getConnect(DbConnect.java:45)
- at tool.DbConnect.main(DbConnect.java:54)
【編輯推薦】