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