【编程】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 连接 oraclejdbc: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.oratestdb= (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
来源: http://click.aliyun.com/m/37069/