`

Java JDBC连接Oracle方法

阅读更多
一、方法

1.Oracle JDBC 连接ServiceName

jdbc:oracle:thin:@//<host>:<port>/<service_name>

例:jdbc:oracle:thin@//10.1.112.110:1521/Health

注:@后面有//。这种格式主要针对集群,每个节点的SID不同,但是SERVICE_NAME可以包含所有节点。


2.Oracle JDBC 连接 ServiceID

jdbc:oracle:thin:@<host>:<port>:<SID>

例:jdbc:oralce:thin:10.1.112.110:1521:heal

这个不用多说,大家大部分都是使用这个。

3.Oracle JDBC连接 TNSName

jdbc:oracle:thin:@<TNSName>

例:jdbc:oracle:thin:@TNSHeal


二、测试

1.使用Service_Name

在11G中会出现错误 java.sql.SQLException:The Network Adapter could not establish the connection .

修改方式:oracle.jdbc.driver.OracleDriver 更改为 oracle.jdbc.OracleDriver

使用TNSName

可以会报错 java.sql.SQLException: Unknown host specified

解决办法有2个:

<1>启动VM arguments 添加参数

Doracle.net.tns_admin=D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN



<2>在 Java代码中添加

System.setProperty("oracle.net.tns_admin","D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN")

public jdbc() { 

      try { 

           System.setProperty("oracle.net.tns_admin","D:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN"); 

          Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

//         Class.forName("oracle.jdbc.OracleDriver").newInstance(); 

          c = DriverManager.getConnection(dbUrl, theUser, thePw); 

          conn = c.createStatement(); 

      } catch (Exception e) { 

          e.printStackTrace(); 

      } 

   } 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics