【编程】java jdbc/ojdbc 链接oracle的三种方式

简介:
  本文是一篇学习笔记,学习如何通过java jdbc /ojdbc 连接oracle的几种方式。
一 使用方法
方法一:使用service_name 连接oracle  
jdbc:oracle:thin:@//:/ 
例如: jdbc:oracle:thin:@//10.10.10.1:1521/TDB
注意这里的格式,@后面有//, 这是与使用SID的主要区别。
对于集群来说,每个节点的SID 是不一样的,但是SERVICE_NAME 确可以包含所有节点。

方法二: 使用SID 连接oracle 
jdbc:oracle:thin:@:: 
Example: jdbc:oracle:thin:@10.10.10.1:1521:testdb1 
注意 该方法已经不做推荐,oracle 官方推荐使用service_name 

方法三:使用tnsname 连接oracle
jdbc:oracle:thin:@ 
Example: jdbc:oracle:thin:@TESTDB 

二 源代码


import java.sql.Connection;
 
import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class testDB {

 public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver"; 

# public static final String DBURL = "jdbc:oracle:thin:@127.0.0.1:1521/testdb1"; //sid 格式 testdb1是sid

# public static final String DBURL = "jdbc:oracle:thin:@//127.0.0.1:1521/TDB";   //servicename TDB是service_name

 public static final String DBUSER = "test\"; 

 public static final String DBPASSWORD = \"xxx\"; 

 

 public static final String DBURL = \"jdbc:oracle:thin:@TESTDB\"; //tnsname 格式

 public static void main(String[] args) throws Exception

 {

   Connection con = null;

   PreparedStatement ps = null;

   ResultSet rs = null;

  String strSQL = \"select count(*) from tsa_dim_deal\";

# System.setProperty(\"oracle.net.tns_admin\", \"/home/admin/oracle\");//使用tnsname 方法的时候 需要制定tnsname.ora所在的文件夹绝对路径

  Class.forName(DBDRIVER).newInstance(); 

  con = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD); 

  ps = con.prepareStatement(strSQL);

  rs = ps.executeQuery();

  while(rs.next())

  {

   System.out.println(\"num:\"+rs.getString(1));

  }

  rs.close();

  ps.close(); 

  con.close(); 

 }

} 

附录:
[qilong.yangql@rac1 oracle]$ more tnsnames.ora
testdb=
  (DESCRIPTION =
    (FAILOVER = ON)
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.1)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.2)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.3)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.4)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.5)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.6)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = tdb)
    )
  )
注意 本文里面 service_name tdb 和tnsname (testdb) 故意设置的不一样.

三  参考:
http://razorsql.com/docs/help_oracle.html


相关文章
|
4月前
|
Java 关系型数据库 数据库连接
JDBC:Java与数据库的“黄金搭档”,为何它如此重要?
JDBC:Java与数据库的“黄金搭档”,为何它如此重要?
48 8
|
4月前
|
Java 数据库连接 API
JDBC:Java数据库连接的“黑科技”大揭秘
JDBC:Java数据库连接的“黑科技”大揭秘
38 7
|
4月前
|
SQL Java 数据库连接
为何JDBC是Java开发者的“心头好”?原因竟然这么简单!
为何JDBC是Java开发者的“心头好”?原因竟然这么简单!
40 3
|
2月前
|
SQL Java 数据库连接
如何在 Java 脚本中有效地使用 JDBC
如何在 Java 脚本中有效地使用 JDBC
17 0
|
4月前
|
SQL Java 关系型数据库
【前端学java】JDBC快速入门
【8月更文挑战第12天】JDBC快速入门
34 2
【前端学java】JDBC快速入门
|
4月前
|
SQL Java 数据库连接
JDBC之旅:从陌生到熟悉的Java数据库连接之路
JDBC之旅:从陌生到熟悉的Java数据库连接之路
32 9
|
4月前
|
SQL Java 关系型数据库
探索Java数据库连接的奥秘:JDBC技术全攻略
探索Java数据库连接的奥秘:JDBC技术全攻略
59 8
|
4月前
|
SQL Java 数据库连接
Java开发者必知:JDBC连接数据库的“三大法宝”
Java开发者必知:JDBC连接数据库的“三大法宝”
37 7
|
4月前
|
SQL 安全 Java
JDBC:Java与数据库的“月老红线”,你真的了解它吗?
JDBC:Java与数据库的“月老红线”,你真的了解它吗?
23 1
|
4月前
|
SQL Java 数据库连接
深入剖析JDBC:Java与数据库沟通的“桥梁”与“秘密”
深入剖析JDBC:Java与数据库沟通的“桥梁”与“秘密”
25 0

推荐镜像

更多
下一篇
无影云桌面