网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  java程序使用oci驱动连接oracle数据库     
  文章作者:未知  文章来源:水木森林  
  查看:88次  录入:管理员--2007-11-17  
 
  摘要:配置java web应用使用oci驱动来访问oracle数据库,如果在tomcat下有多个应用,且每个应用都要访问oracle数据库时的注意项事。oracle的即时客户端配置等。

  公司各种产品的前端、后端差不多都是用java开发的web应用且运行在tomcat里。根据oracle的说法,java程序连接oracle数据库时,用oci驱动要比用thin驱动性能好些。主要的区别是使用thin驱动时,不需要安装oracle的客户端,而使用oci时则要安装oracle的客户端。

  从使用thin驱动切换到oci驱动在配置来说很简单,只需把连接字符串java:oracle:thin:@hostip:1521:实例名换为java:oracle:oci@本地服务名即可。如:

  从

  jdbc:oracle:thin:@10.1.1.2:1521:shdb

  改成

  jdbc:oracle:oci8:@shdb

  但这里这台机需安装oracle数据库的客户端并配置本地服务名,同时还需指定nls_lang环境变量,nls_lang环境变量是用来控制客户端在显示oracle数据库的数据时所用的字符集和本地化习惯。通常把nls_lang的字符集部分指定为数据库所用的字符集则就不会存在java显示的乱码问题了。

  对于oracle数据库客户端的安装,有二种选择,一是老实的用oracle数据库的安装光盘安装对应版本的oracle客户端。二是下载oracle提从的即时客户端,即时客户端是不用安装的,把下载包解压即可。

  要使java web正常的通过oci驱动访问oracle,还需要客户端正确的配置一下相关变量。主要如下:

  对于windows系统并使用oracle客户端时:

  1. 把%oracle_home%/lib加到path环境变量.

  2. 把%oracle_home%/jdbc/lib/classes12.jar加到classpath环境变量里.也可以把classes12.jar拷贝到tomcat的comman/lib目录下。

  对于windows系统并使用oracle的即时客户端时(假定即时客户端解压在d盘):

  1. 把d:/instantclient_10_2加到path环境变量

  2. 把d:/instantclient_10_2/classes12.jar加到classpath环境变量里.也可以把classes12.jar拷贝到tomcat的comman/lib目录下。

  对于linux系统并使用oracle客户端时:

  1. 在使用tomcat的用户主目录下的.bash_profile文件中加入

  exprot oracle_home=/u01/app/oracle/product/9.2.0.4

  export ld_library_path=$oracle_home/lib

  2. 把classes12.jar拷贝到tomcat的comman/lib目录下。

  对于linux系统并使用oracle即时客户端时:

  1. 在使用tomcat的用户主目录下的.bash_profile文件中加入

  exprot oracle_home=/instantclient_10_2

  export ld_library_path=$oracle_home/lib

  2. 把instantclient_10_2目录下的classes12.jar拷贝到tomcat的comman/lib目录下。

  如果一个tomcat下带了几个应用,且几个应用都要连接oracle数据库时,则要注意的时,不要在每个应用的web-inf/lib目录下放入oracle的classes12.jar/zip文件。而应该把classes12.jar/zip文件放到tomcat的common/lib目录下。否则会出来ojdbclib9/10库重复加载的错误。

  使用oracle即时客户端是,本地服务名的建立可以在目录instantclient_10_2下建立tnsnames.ora下添加连接串,如:

  shdb =(description =(address_list =(address = (protocol = tcp)(host = 10.1.1.236)(port = 1521)))
  (connect_data =(service_name = shdb)))

  即可
 
 
上一篇: 理解javahelp结构的好处    下一篇: 实现java平台的三种方式
  相关文档
applet和application 11-17
oracle数据库构造给据邮件跟踪查询系统 11-17
name 属性 11-16
基础教程之——rmi一步一步学习 11-17
如何用java来计算对数 11-16
eclipse rcp+spring建胖客户端web程序 11-17
jini技术常见问题解答 11-17
j2ee开发平台 11-17
java: jni完全手册 11-17
基础入门:java学习路径七步走 11-17
java性能调优工具jrockit mission control 03-31
探索java应用程序的安全需求 11-17
java入门(3) 准备java编程环境 11-17
netbeans开放源项目通过18个新模块的增添大大扩展功能性 11-17
borland推出专供java使用之web services开发工具 11-17
[引用] eclipse 照亮java众生 11-17
java基础--tomcat的配置技巧精华详解 11-16
如何把hibernate2.1升级到hibernate3.0 11-16
响应鼠标点击事件的小程序 04-14
java程序员需要了解的几个开源协议 11-16
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息