一、本地通过JDBC获得Oracle数据库连接
通过JDBC获得Oracle数据库连接,有三种方式:OCI方式、thin方式和JdbcOdbc桥方式。OCI方式依赖于本地的动态链接库,如果在本 地安装了Oracle数据库客户端可以采用该方式;而thin方式为纯java的数据库连接方式;JdbcOdbc桥方式依赖于本地ODBC数据库源的配 置,这种方式一般不太被采用。
1、OCI方式
先在本地安装Oracle客户端,安装完之后,在安装的路径中可以找到…/jdbc/lib/classes12.zip文件,我们在环境变量classpath中设置classes12.zip所在的路径。
然后通过以下的数据库连接类,在本地通过OCI方式获得Oracle数据库连接。
/**
* 在本地获得数据库连接
*/
package com.j2ee.db;
importjava.util.*;
importjava.sql.*;
import javax.sql.*;
importjava.io.*;
import oracle.jdbc.driver.*;
import javax.naming.*;
/**
* 通过OCI方式获得Oracle数据库连接
*/
public class DbConnection
{
final static String sDBDriver = "oracle.jdbc.driver.OracleDriver";
final static String sConnStr = "jdbc:oracle:oci8:sr/sr@ora199";
/**
*
*/
public DbConnection()
{
}
/**
* 获得Oracle数据库连接
*/
publicjava.sql.Connection connectDbByOci()
{ java.sql.Connection conn=null;
try
{
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr);
}
catch (Exception e)
{
System.out.println("ERROR:"+e.getMessage());
}
return conn;
}
} |
在连接字符串 "jdbc:oracle:oci8:sr/sr@ora199" 中,"sr/sr"为Oracle用户的用户名和口令,"ora199"为数据库服务名。 2、thin方式
先到Oracle技术网(http://otn.oracle.com/global/cn/software/tech/java /sqlj_jdbc/index.html)下载Oracle JDBC Drivers,同样地将下载后的zip文件的路径设置在环境变量classpath。
然后通过以下的数据库连接类,在本地通过thin方式获得Oracle数据库连接。
/**
* 在本地获得数据库连接
*/
package com.j2ee.db;
importjava.util.*;
importjava.sql.*;
import javax.sql.*;
importjava.io.*;
import oracle.jdbc.driver.*;
import javax.naming.*;
/**
* 通过thin方式获得Oracle数据库连接
*/
public class DbConnection
{
private String sConnStr = "";
/**
* 缺省构造器
*/
public DbConnection()
{
sConnStr = "jdbc:oracle:thin:@10.1.4.199:1521:ora199";
}
/**
* @param ip,serviceName
*/
public DbConnection(String ip,String serviceName)
{
sConnStr = "jdbc:oracle:thin:@"+ip+":1521:"+serviceName;
}
/**
* 通过thin方式获得Oracle数据库的连接.
*/
publicjava.sql.Connection connectDbByThin()
{ java.sql.Connection conn=null;
try
{
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr,"sr","sr");
}
catch (Exception e)
{
System.out.println("ERROR:"+e.getMessage());
}
return conn;
}
/**
* 通过thin方式获得Oracle数据库的连接.
* @param userId,password
*/
publicjava.sql.Connection connectByJdbc(String userId,String password)
{ java.sql.Connection conn=null;
try
{
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr,userId,password);
}
catch (Exception e)
{
System.out.println("ERROR:"+e.getMessage());
}
return conn;
}
} |
这种方式运用起来比较灵活,简单,具有较强的移植性和适用性。只要注意连接字符串"jdbc:oracle:thin:@10.1.4.199:1521:ora199"中具体参数的设置即可。
3、JdbcOdbc桥方式
先通过管理工具中的数据源来添加本地对Oracle数据库的连接,然后通过以下的数据库连接类,在本地通过JdbcOdbc桥方式获得Oracle数据库连接。
/**
* 在本地获得数据库连接
*/
package com.j2ee.db;
importjava.util.*;
importjava.sql.*;
import javax.sql.*;
importjava.io.*;
import oracle.jdbc.driver.*;
import javax.naming.*;
/**
* 通过JdbcOdbc桥方式获得Oracle数据库连接
*/
public class DbConnection
{
/**
*
*/
public DbConnection()
{
}
/**
* 获得Oracle数据库连接
*/
publicjava.sql.Connection connectDbByJdbcOdbcBridge()
{ java.sql.Connection conn=null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:ora199","sr","sr");
}
catch (Exception e)
{
System.out.println("ERROR:"+e.getMessage());
}
return conn;
}
} |
在getConnection方法中第一个参数"jdbc:odbc:ora199" 中的"ora199"为本地ODBC数据源的数据源名称,第二个参数和第三个参数分别为Oracle的用户名和口令。
二、通过连接池获得Oracle数据库连接
这部分主要讲述在iPlanet Application Server 6.5和Sun ONE Application Server 7中Oracle数据库连接池的配置,以及在应用中如何通过连接池获得数据库的连接。
1、iPlanet Application Server 6.5连接池的配置
先打开iPlanet Application Server 6.5的管理控制台,选中"database"面板,再选择"External JDBC Drivers"选项后,点击"Add…"按钮,在弹出的对话框中,添加一个名为"ora-type4"的JDBC Driver。
Driver Classpath:该参数填写classes12.zip文件的物理路径。
然后在"External JDBC DataSources"中选择"Add…",在弹出的对话框中添加一个JNDI名称为"credit2"的数据源。
DriverType:选择刚添加好的"ora-type4";
Datasource:ora199,为Oracle数据库服务名;
Connection Pool Parameters:图中显示的是缺省设置,可以根据自己环境情况来更改这些设置。
保存完设置后,在"DataSource Selection Box"中,选择刚添加的"credit2"数据源,再选择"Vendor Specific Properties"按钮。在对话中添加一个URL属性。
至此,iPlanet Application Server 6.5中的数据库连接池配置完毕,重起服务使之生效。
2、Sun ONE Application Server 7连接池的配置
在配置之前将classes12.zip文件置于…/server1/lib目录下。通过浏览器的4848端口打开Sun ONE Application Server 7的管理界面,选择"server1"->"JDBC"-> "Connection Pools"下的"New…"
添加一个名称为"MyConnectionPool"的Oracle数据库连接池。"Next"下一步。
在"General"中填写"Datasource Classname"。
在"Properties"中将不需要的属性删除,同时添加"URL"属性。
"dataSourceName"中填写Oracle数据库服务名。
以下连接池的缺省设置,可以根据自己环境的情况作相应的调整。
选择"Finish"完成连接池的设置。
下一步为"MyConnectionPool"连接池创建一个JNDI,以便应用程序能够通过该名称获得连接池中的连接。 "server1"->"JDBC"-> "JDBC Resources"下的"New…"
至此,Sun ONE Application Server7中的数据库连接池配置完毕,重起服务使之生效。
3、通过连接池获得连接
以上在iPlanet Application Server 6.5和Sun ONE Application Server7中配置的连接池都可以通过以下的数据库连接类,从连接池中获得Oracle数据库连接。
/**
* 从连接池中获得数据库连接
*/
package com.j2ee.db;
importjava.util.*;
importjava.sql.*;
import javax.sql.*;
importjava.io.*;
import oracle.jdbc.driver.*;
import javax.naming.*;
/**
* 通过连接池方式获得Oracle数据库连接
*/
public class DbConnection
{
/**
*
*/
public DbConnection()
{
}
/**
* 获得Oracle数据库连接
*/
publicjava.sql.Connection connectDbByConnectionPool()
{ java.sql.Connection conn=null;
try
{
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("jdbc/credit2");
conn=ds.getConnection();
}
catch (Exception e)
{
System.out.println("ERROR:"+e.getMessage());
}
return conn;
}
} |
4、使用连接池的优点
使用连接池的优点主要体现在两个方面:
对数据库的连接统一进行配置、管理、监控,以及对数据库连接池的参数进行优化调整,同时对应用中没有关闭或其他原因造成没有关闭的数据库连接由连接池统一进行管理。
便于应用的移植和后端数据库的切换,因为在应用中通过统一的JNDI获得数据库的连接,而具体连接的是哪一台机器上的数据库与应用无关。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=38402
分享到:
相关推荐
如果编程人员要在一个表中查找许多行,结果中的每个行都会查找其他表中的数据,最后,编程人员创建了独立的UPDATE命令来成批地更新第一个表中的数 据。...本文将为大家介绍通过JDBC连接Oracle数据库的十大技巧。
主要介绍了Java使用Jdbc连接Oracle执行简单查询操作,结合实例形式详细分析了java基于jdbc实现Oracle数据库的连接与查询相关操作技巧,需要的朋友可以参考下
JDBC连接Oracle数据库常见问题及解决方法
使用JDBC连接Oracle数据库使用JDBC连接Oracle数据库
jdbc连接oracle简单示例(环境为eclipse+oracle)
jdbc连接oracle jar包 Java JDBC连接Oracle 11g的jar包
JDBC连接ORACLE数据库 源码
通过JDBC连接oracle数据库的十大技巧
从远程oracle数据库取数据是乱码,因为远程oracle字符集为AMERICAN_AMERICA.US7ASCII 本地oracle字符集为SIMPLIFIED CHINESE_CHINA.ZHS16GBK 所以是乱码,解决办法请下载文档 多谢 因为要下载其他资源无分 多多...
NULL 博文链接:https://joinyo.iteye.com/blog/1947696
JDBC连接oracle数据库
jdbc连接oracle,执行存储过程,带数据库存储过程,代码是详细的源码,读取配置文件,连接jdbc,执行存储过程。
JDBC连接Oracle测试 package com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DB { private static Connection conn; private static ...
关于JDBC连接oracle数据库的步骤实例,新手可以借鉴,第一步加载驱动的时候可以用DriverManager或者Class.forName,下面注释掉的都是正确的代码,新手可以看看,高手勿喷
java中jdbc连接oracle代码及jar包
JDBC连接oracle和mysql的jar包。JDBC连接oracle和mysql的jar包。JDBC连接oracle和mysql的jar包。
JDBC连接Oracle数据库的代码和编写JDBC的经验
JDBC连接oracle数据库.doc
将配置文件中的值换成自己所装数据库或远程连接数据库对应的值,并导入jar包即可
JDBC连接oracle数据库的测试,每隔20s连接一次后断开,并将连接时间、耗时和连接结果输入一个txt文件。用于测试数据库的稳定性