J2EE应用中与Oracle数据库的连接
作者:洪建
在J2EE应用程序开发中,应用程序与数据库连接的建立是我们经常遇到的问题之一。在这里我主要谈谈在本地应用程序中通过OCI方式、thin方式和 JdbcOdbc桥方式连接Oracle数据库,在iPlanet Application Server 6.5和Sun ONE Application Server 7中对Oracle数据库连接池的配置以及应用中如何从连接池中获得连接。
一、本地通过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;
import java.util.*;
import java.sql.*; import javax.sql.*;
import java.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数据库连接
*/
public java.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;
import java.util.*;
import java.sql.*;
import javax.sql.*;
import java.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数据库的连接.
*/
public java.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
*/
public java.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;
import java.util.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;
import javax.naming.*;
/**
* 通过JdbcOdbc桥方式获得Oracle数据库连接
*/
public class DbConnection {
/**
*
*/
public DbConnection()
{
}
/**
* 获得Oracle数据库连接
*/
public java.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的用户名和口令。
分享到:
相关推荐
java连接oracle数据库jar包
JAVA 连接oracle数据库工程 JAVA oracle数据库 Myeclipse
一个用java语言编写的简单的小程序,访问oracle数据库,
基于java实现访问oracle数据库的方法.pdf
Java访问Oracle9i数据库的方法研究.pdf
Java程序中访问Oracle数据库的技术分析与实现
ORACLE8i及以后的版本中都包含了对在数据库中运行JAVA的扩展支持,这里有两种方法可以使用:JDBC:与ODBC类似, JDBC 提供了一个驱动接口使你可以在JAVA程序中访问数据库。注:JDBC驱动内嵌在数据库中虚拟机中。SQLJ...
NULL 博文链接:https://shihuan830619.iteye.com/blog/805971
Flex访问Oracle数据库------ RemoteObject方法 由于Flex不能直接与Oracle数据库进行通信,所以采用借助Java以RemoteObject方式连接数据库 下为详细配置
只需要安装oracle client在本地,然后配置好tns,输入连接名,用户名,密码,数据表的名称,文件名数据列名以及blob数据列名,就可以批量导出ORACLE数据库BLOB字段生成图片
重做操作系统后oracle数据库的恢复 文件夹中文件说明: ora.reg oracle主要注册项的恢复参考文件 oraodbc.reg odbc驱动项的恢复参考文件 oraole1~4.reg ole 驱动项的恢复参考文件 恢复中重要操作说明: 1、恢复前提...
使用Java的jdbc连接Oracle数据库,包含ipv4、ipv6连接方式及各个系统参数查询。代码可运行。
举例具体实例(验证通过的),可以在domino designer中通过java代理程序连接并访问oracle数据库中的某个表,读取和写入数据。
此软件是同过java语言开发的并已打成.bat文件,它是C/S模式的。它只能在windows操作系统下...如果要操作此软件,还需要了解一些 常用的数据库sql语句,并且在软件中可选择你熟悉的Oracle DB,MySQL DB 或SQLServer DB。
模仿C#下SqlHelper,保持了主要接口的一致性,可用于java下访问oracle数据库时使用,屏蔽了jdbc底层api。压缩包包含如下内容:Java_OracleHelper_1_0_20071027_src.zip,Java_OracleHelper_1_0_20071027_jar.jar。更...
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
这个数据库访问控制框架工程名为dbmanager,目前的版本是1.1.8,只支持MYSQL数据库,在未来的两周时间内我会发布后续扩展版本,加入对SQLSERVER, ORACLE,SYBASE,DB2数据库的支持。 之所以想写这个框架,最主要的一个...
Oracle数据库内部的数据操作可以通过sql语句执行处理,sql与C、Basic等语言不通,数据的访问方法和操作顺序不用正确指定,是要告诉数据库引擎要做什么就可以了。Oracle不仅可以通过基本的sql进行简单的数据操作,还...
Browser直接访问Oracle中的数据库对象,并能将其还原成原代码,所以不需要任何其他的代码管理工作。只要将Object Browser连接上数据库,就能将整个系统还原成原代码和文档资料。 ● 是一个轻便快速的...