JDBC連接Oracle發(fā)生異常的原因
當(dāng)你通過JDBC連接Oracle數(shù)據(jù)庫時(shí)發(fā)生了異常首先應(yīng)該確認(rèn)你的JRE是否配置正確,一般oracle10g,JRE1.4以上應(yīng)當(dāng)使用ojdbc14.jar。
其次你要確定你的Java語法是否錯(cuò)誤,這里的語法是指連接數(shù)據(jù)庫的URL上的協(xié)議的格式例如:jdbc:oracle:thin:@127.0.0.1:1521:pg,淡紅色表示使用thin方式(瘦客戶機(jī))連接,黑色部分表示數(shù)據(jù)庫的IP,青色表示監(jiān)聽程序所使用的端口默認(rèn)1521,***深紅色表示數(shù)據(jù)庫的全局ID,完整寫法應(yīng)當(dāng)為SID.Domain。
當(dāng)你確定你的程序和JRE配置正確仍有異常的時(shí)候,你需要查看一下你的Oracle網(wǎng)絡(luò)配置,一般一個(gè)監(jiān)聽程序可以監(jiān)聽多個(gè)數(shù)據(jù)庫實(shí)例。如果你的數(shù)據(jù)庫實(shí)例是安裝的時(shí)候由安裝程序自動創(chuàng)建的,那么你的Oracle網(wǎng)絡(luò)配置會給你配置好的。如果你的實(shí)例是自己創(chuàng)建的,那么除了需要使用net manager配置監(jiān)聽位置外還要為監(jiān)聽程序配置說要監(jiān)聽的數(shù)據(jù)庫實(shí)例,如果監(jiān)聽程序什么都沒配置那么將無法連接數(shù)據(jù)庫實(shí)例,如果只配置了監(jiān)聽位置那么也能在本機(jī)上通過oracle自身的客戶端連接,不能通過程序連接。所以,作為一個(gè)開發(fā)認(rèn)為你應(yīng)該把監(jiān)聽程序配置完整。
本人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)
【編輯推薦】