本篇文章給大家分享的是有關使用JDBC怎么對ORACLE進行連接,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:申請域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、龍陵網(wǎng)站維護、網(wǎng)站推廣。
格式一: Oracle JDBC Thin using an SID:
jdbc:oracle:thin:@host:port:SID Example: jdbc:oracle:thin:@localhost:1521:orcl
這種格式是最簡單也是用得最多的
你的oracle的sid可以通過一下指令獲得:
sqlplus / as sysdba select value from v$parameter where name='instance_name';
import java.sql.*; public class TestOrclConnect { public static void main(String[] args) { ResultSet rs = null; Statement stmt = null; Connection conn = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); String dbURL = "jdbc:oracle:thin:@localhost:1521:orcl"; conn = DriverManager.getConnection(dbURL, "admin2", "123"); System.out.println("連接成功"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
格式二: Oracle JDBC Thin using a ServiceName:
jdbc:oracle:thin:@//host:port/service_name Example:jdbc:oracle:thin:@//localhost:1521/orcl.city.com
注意這里的格式,@后面有//, port后面:換成了/,這種格式是Oracle 推薦的格式,因為對于集群來說,每個節(jié)點的SID 是不一樣的,但是SERVICE_NAME 確可以包含所有節(jié)點。
你的oracle的service_name可以通過以下方式獲得:
sqlplus / as sysdba select value from v$parameter where name='service_names'; import java.sql.*; public class TestOrclConnect { public static void main(String[] args) { ResultSet rs = null; Statement stmt = null; Connection conn = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); String dbURL = "jdbc:oracle:thin:@//localhost:1521/orcl.city.com"; conn = DriverManager.getConnection(dbURL, "admin2", "123"); System.out.println("連接成功"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
格式三:Oracle JDBC Thin using a TNSName:
jdbc:oracle:thin:@TNSName Example: jdbc:oracle:thin:@TNS_ALIAS_NAME
我在谷歌上找了一些資源,要實現(xiàn)這種連接方式首先要建立tnsnames.ora文件,然后通過System.setProperty指明這個文件路徑。再通過上面URL中的@符號指定文件中的要使用到的資源。
這種格式我現(xiàn)在水平幾乎沒見過,對于我來說用得到這種的情況并不多吧。當然既然是通過配置文件來讀取指定資源肯定也可以直接將資源拿出來放在URL中,直接放在URL中的URL模版是下面這樣的(tnsnames.ora這個文件中放的就是@符號后面的那一段代碼,當然用文件的好處就是可以配置多個,便于管理):
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL= TCP)(HOST=hostA)(PORT= 1522))(ADDRESS=(PROTOCOL=TCP)(HOST=your host)(PORT=1521)))(SOURCE_ROUTE=yes)(CONNECT_DATA=(SERVICE_NAME=your service_name)))
jdbc連接代碼如下:
“` import java.sql.*; public class TestOrclConnect { public static void main(String[] args) { ResultSet rs = null; Statement stmt = null; Connection conn = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); String dbURL = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))" + "(CONNECT_DATA=(SERVICE_NAME=orcl.city.com)))"; conn = DriverManager.getConnection(dbURL, "admin2", "123"); System.out.println("連接成功"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
以上就是使用JDBC怎么對ORACLE進行連接,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。