`
zx_00
  • 浏览: 6027 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

oracle数据库的连接方式

阅读更多

Oracle数据库的连接(OCI方式、thin方式和JdbcOdbc桥方式)

 

  

  

一、本地通过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的用户名和口令。   

  

二、通过连接池获得Oracle数据库连接   

  

这部分主要讲述在iPlanet Application Server 6.5和Sun Java System 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数据库服务名;   

  

Datasource:ora199,为Oracle数据库服务名;   

  

Connection Pool Parameters:图中显示的是缺省设置,可以根据自己环境情况来更改这些设置。  

  

保存完设置后,在"DataSource Selection Box"中,选择刚添加的"credit2"数据源,再选择"Vendor Specific Properties"按钮。在对话中添加一个URL属性。   

  

  

至此,iPlanet Application Server 6.5中的数据库连接池配置完毕,重起服务使之生效。   

  

2、Sun Java System Application Server 7连接池的配置   

  

在配置之前将classes12.zip文件置于…/server1/lib目录下。通过浏览器的4848端口打开Sun Java System 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 Java System Application Server7中的数据库连接池配置完毕,重起服务使之生效。   

  

3、通过连接池获得连接   

  

以上在iPlanet Application Server 6.5和Sun Java System Application Server7中配置的连接池都可以通过以下的数据库连接类,从连接池中获得Oracle数据库连接。   

  

/**  

* 从连接池中获得数据库连接  

*/   

  

package com.j2ee.db;   

  

import java.util.*;   

import java.sql.*;   

import javax.sql.*;   

import java.io.*;   

import oracle.jdbc.driver.*;   

import javax.naming.*;   

  

/**  

* 通过连接池方式获得Oracle数据库连接  

*/   

public class DbConnection   

{   

/**  

*  

*/   

public DbConnection()   

{   

}   

  

/**  

* 获得Oracle数据库连接  

*/   

public java.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获得数据库的连接,而具体连接的是哪一台机器上的数据库与应用无关  

分享到:
评论

相关推荐

    geoserver2.14.0 oracle 数据库连接

    通过以上步骤,你可以成功地在GeoServer 2.14中配置Oracle数据库连接,并展示其中的Shapefile数据。这种集成不仅允许你利用Oracle的强大功能处理大规模的空间数据,还能够通过GeoServer提供丰富的地图服务,用于Web...

    oracle数据库连接工具

    "Oracle数据库连接工具"指的是可以方便地连接到Oracle数据库并执行各种操作的软件应用。在给定的标签中提到了"oracle navicat",这指的是Navicat,一个知名的数据库管理工具,特别适合于Oracle数据库的连接和管理。 ...

    易语言oracle数据库连接模块源码

    在易语言中,开发Oracle数据库连接模块是为了实现对Oracle数据库的高效、便捷操作。Oracle数据库是全球广泛使用的大型关系型数据库管理系统,适用于处理大量数据和并发事务。 Oracle数据库连接模块的核心在于如何...

    ORACLE数据库连接[参照].pdf

    本文将对 Oracle 数据库连接技术进行详细的介绍,包括典型应用结构、数据库连接方式、软件层次结构、数据传输协议等。 典型应用结构 Oracle 数据库连接的典型应用结构主要包括客户机(Client)、浏览器、WEB ...

    oracle数据库连接测试软件

    DataBaseHelper帮助类中包含了默认的连接字符串格式,修改完IP和用户名密码就可以使用,也可以在连接的时候直接输入连接字符串和sql语句。可以直接使用release下的exe 建议使用升级过的版本:...

    易语言连接Oracle数据库

    数据库连接组件用于建立与Oracle数据库的物理连接,而记录集组件则负责在程序中操作数据,如查询、插入、更新和删除记录。 1. 数据库连接组件: - 在易语言中,设置数据库连接通常涉及以下参数: - 数据源(DSN)...

    Oracle-新建Oracle数据库并连接(图文,详细).docx

    连接到Oracle数据库可以使用sqlplus和SQL developer两种方式。 使用sqlplus连接数据库 1. 打开cmd窗口,输入sqlplus /nolog回车。 2. 输入conn sys/admin@BOOKSALES as sysdba回车。 使用SQL developer连接数据库...

    Oracle数据库连接详细说明

    Thin方式是一种纯Java实现的数据库连接方式,无需本地Oracle客户端。它直接通过网络与Oracle服务器通信,具有更好的平台独立性和轻量级特性。用户需要下载Oracle JDBC驱动并添加到classpath。连接字符串格式通常为`...

    Oracle 数据库连接工具

    在Oracle数据库连接工具中,SQL Developer 是一个非常重要的免费工具,它是Oracle公司提供的一个集成开发环境(IDE),专门针对SQL语言进行设计,用于执行查询、管理对象、创建和修改数据库结构以及进行数据迁移任务...

    sap 与 oracle数据库的连接

    最后,需要检查目录是否存在,使用Al11命令实现,并建立DBCO连接,检查数据库连接状态,使用DB02命令实现。 在SAP开发中,连接Oracle数据库需要遵循一定的步骤和顺序,包括建立目录、解压缩文件、建立虚连接、修改...

    如何连接oracle数据库及故障解决办法

    连接 Oracle 数据库是每个开发者和数据库管理员都需要掌握的基本技能,但是很多人在连接 Oracle 数据库时都会遇到各种问题,本文将详细介绍如何连接 Oracle 数据库及故障解决办法。 首先,在连接 Oracle 数据库之前...

    .NET连接Oracle数据库.docx

    #### 推荐的Oracle数据库连接方式 对于.NET开发人员来说,Oracle官方推荐使用以下两种数据库提供程序来连接Oracle数据库: 1. **Oracle.DataAccess.Client**:这是一个较早的版本,尽管仍然可用,但在新项目中建议...

    ojdbc6--oracle数据库连接驱动.rar

    1. 添加ojdbc6驱动到项目类路径:首先,将下载的"ojdbc6--oracle数据库连接驱动.rar"解压,获取到ojdbc6.jar文件。这个jar文件包含驱动实现,需要将其添加到Java项目的类路径中,无论是IDE如Eclipse、IntelliJ IDEA...

    Oracle 数据库连接字符串大全教程

    Oracle 数据库连接字符串大全教程旨在提供了完整的 Oracle 连接字符串大全,涵盖了异地或服务器数据库连接、ODBC 连接、OLE DB 连接、Oracle.DataAccess.Client.OracleConnection 连接等多种连接方式。 一、 Oracle...

    ArcGIS与Oracle数据库连接.docx

    ### ArcGIS与Oracle数据库连接详解 #### 一、概述 ArcGIS是一款强大的地理信息系统软件,广泛应用于地图制作、地理数据分析以及地理信息系统管理等领域。而Oracle数据库则是业界领先的关系型数据库管理系统之一,...

    pdm连接oracle数据库

    #### 一、PDM简介与Oracle数据库连接的重要性 产品数据管理(Product Data Management, PDM)系统是企业信息化的重要组成部分,用于管理与产品相关的所有数据,包括设计文档、图纸、BOM表等。在PDM系统中实现与Oracle...

    如何截获Oracle数据库连接密码

    如何截获 Oracle 数据库连接密码 Oracle 数据库连接密码截获是对于 Oracle 系统来说一个非常重要的安全问题。 Oracle 系统的结构可以描述为:客户端应用程序 (1)--> Oracle 客户端软件 (2)---> 系统 TCP/IP 模块 (3...

    Oracle数据库连接工具PLSQL轻桌面工具包

    Oracle数据库连接工具PLSQL轻桌面工具包,安装PLSQL必须下载轻桌面工具包

    C#连接Oracle数据库字符串

    C#连接Oracle数据库字符串 C#连接Oracle数据库字符串

Global site tag (gtag.js) - Google Analytics