java jdbc连接oracle的三种方法

来源:互联网 发布:java c# 编辑:程序博客网 时间:2024/05/17 02:43

一、方法

  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();  

          }  

       }