一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - 使用JDBC連接ORACLE的三種URL格式

使用JDBC連接ORACLE的三種URL格式

2020-04-03 17:44我是李超人 Oracle

這篇文章主要介紹了JDBC連接使用JDBC連接ORACLE的三種URL格式,每種格式通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

使用jdbc連接oracle時url有三種格式

格式一: Oracle JDBC Thin using an SID: 

?
1
2
jdbc:oracle:thin:@host:port:SID
Example: jdbc:oracle:thin:@localhost:1521:orcl

這種格式是最簡單也是用得最多的

你的oracle的sid可以通過一下指令獲得:

?
1
2
sqlplus / as sysdba
select value from v$parameter where name='instance_name';
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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: 

?
1
2
jdbc:oracle:thin:@//host:port/service_name
Example:jdbc:oracle:thin:@//localhost:1521/orcl.city.com

注意這里的格式,@后面有//, port后面:換成了/,這種格式是Oracle 推薦的格式,因為對于集群來說,每個節點的SID 是不一樣的,但是SERVICE_NAME 確可以包含所有節點。

你的oracle的service_name可以通過以下方式獲得:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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: 

?
1
2
jdbc:oracle:thin:@TNSName
Example: jdbc:oracle:thin:@TNS_ALIAS_NAME

我在谷歌上找了一些資源,要實現這種連接方式首先要建立tnsnames.ora文件,然后通過System.setProperty指明這個文件路徑。再通過上面URL中的@符號指定文件中的要使用到的資源。

這種格式我現在水平幾乎沒見過,對于我來說用得到這種的情況并不多吧。當然既然是通過配置文件來讀取指定資源肯定也可以直接將資源拿出來放在URL中,直接放在URL中的URL模版是下面這樣的(tnsnames.ora這個文件中放的就是@符號后面的那一段代碼,當然用文件的好處就是可以配置多個,便于管理):

?
1
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連接代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
“`
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的三種URL格式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://blog.csdn.net/u012062455/article/details/52442838

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品国色综合久久 | 黄在线观看www免费看 | 草逼吧 | 久久中文字幕亚洲精品最新 | 99re8在线精品视频免费播放 | 国产99视频精品免视看7 | 婷婷色在线观看 | 欧美特黄三级在线观看 | 2019中文字幕在线视频 | 亚州在线播放 | 青草娱乐极品免费视频 | 91天堂影院| 好大好深视频 | 波多野结衣久久国产精品 | 成人影院在线看 | 99国产小视频 | 成年女人免费 | 果冻传媒i91media免费 | 日韩黄色影视 | 日韩高清一区 | 欧洲网色偷偷亚洲男人的天堂 | 日韩欧美一区二区在线 | 日本一级不卡一二三区免费 | 日韩专区在线观看 | 久久AV国产麻豆HD真实乱 | 国产精品女主播自在线拍 | 好吊妞乱淫 | 香蕉国产人午夜视频在线观看 | 91在线视频播放 | 美女被吸乳老师羞羞漫画 | 国产一区二| 俄罗斯freeoo性另类 | 国产亚洲女人久久久久久 | 麻豆网站在线观看 | 99久久99久久久精品齐齐鬼色 | 国产卡一卡二卡三卡四 | 日本久久免费大片 | 男女男精品网站 | 52zfl宅福利yxpjw | 欧乱色国产精品兔费视频 | 久久久91精品国产一区二区 |