java oci_java oracle oci方式连接
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)))
java oci_java oracle oci方式连接相关推荐
- oracle protocol=beq 不可用,Oracle BEQ方式连接配置
Oracle BEQ方式连接配置服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接可以理解为进程间直接通信,不需要走网络监听,性能更高.可以参考MOS:How To Connect Usin ...
- QT Create OCI方式连接达梦数据库
QT OCI方式连接达梦数据库 一.背景 用户使用QT Create开发集成软件 OCI的方式连接数据库. 需要说明的是,本人非开发人员,所以在C++代码编写思路或者使用方式上难免有些低级操作,调试中 ...
- java ora-12505_Java Oracle本地主机连接错误(ORA-12505)
我正在尝试当前连接到当前计算机上的数据库. import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQL ...
- java操作oracle数据_Java连接Oracle数据库操作
连接数据库 // 数据库连接 public static Connection DB() throws Exception { Connection conn; // 定义数据库的参数 String ...
- Java 原始的JDBC方式连接MySQL数据库【钢镚核恒】
Java JDBC 简介 JDBC(Java DataBase Connectivity,Java数据库连接) JDBC 可让Java通过程序操作关系型数据库 JDBC 基于驱动程序实现与数据库的连接 ...
- 转:ORACLE的JDBC连接方式:OCI和THIN
oracle的jdbc连接方式:oci和thin oci和thin是Oracle提供的两套Java访问Oracle数据库方式. thin是一种瘦客户端的连接方式,即采用这种连接方式不需要安装oracl ...
- 创建达梦到Oracle的DBLINK(OCI方式)
应用场景: 因业务需求:oracle作为目地端,DM作为使用端,需要在达梦里创建到oracle的dblink连接.以下为实操记录.推荐达梦DBLINK使用Oralce OCI的方式去访问Oracle数 ...
- java制作oracle程序,Java程序操作Oracle两种方式之简单实现
Java程序操作Oracle两种方式之简单实现 1.通过JDBC-ODBC桥连接Oracle数据库 (1)创建odbc源,在控制面板->管理工具->数据源(odbc)中添加DSN,比如取名 ...
- java访问oracle集群,JAVA查询Oracle数据库集群连接字符串
下载必备最新排行装机分类.游戏手机驱动源码LinuxMac小游戏.商城招聘百科知道软件盒子论坛3G版 本站搜索 新闻资讯 软件下载 当前位置: 网站首页 > 编程开发 > 编程语言 > ...
最新文章
- linux root权限_深入了解 Linux 权限
- day05 selenium
- SUSE团队已将重心偏向GCC 7
- 这个 bug 让我更加理解 Spring 单例了
- 体验C++20新特性的最简便方法
- 计网期末复习 - 数据报分片
- ShardingSphere源码解析 初步准备
- [转]HttpWatch工具简介及使用技巧
- TensorFlow 实战(五)—— 图像预处理
- LeetCode - Merge Two Sorted Lists
- 蓝桥杯2019年第十届C/C++省赛B组第八题-等差数列
- 第三方服务挂了,如何保证服务不受影响?
- 频点、带宽、FFT点数、采样率的关系
- Unity编辑器下Console面板查看完整打印日志
- 哈工大计算机专业复试科目,哈工大 计算机科学与技术学院复试科目.doc
- 矩阵与行列式的区别 行列式简单理解(二三阶)
- 初识MacBook pro 2016--安装系统(恢复系统)
- 一.不同环境下C语言的编译
- 运行单独的vue页面
- 【技术贴】火狐QQ空间音乐插件下载+火狐进空间没背景音乐崩溃解决+火狐浏览器插件推荐...
热门文章
- SQL Server 移动数据库
- linux学习笔记-不定时更新
- MFC 字符串截取成数组 wcstok
- dev-c++官网位置和源码/库位置
- 如何在三个月掌握三年的经验
- 设计模式学习笔记十:单例模式(Singleton Pattern)
- SQL概述及在网络安全中的应用
- c语言 int和字母,[求助]从一个包含有字母和数字的文本文件读入INT型变量
- java 函数名调用_粉丝提问|c语言:如何定义一个和库函数名一样的函数,并在函数中调用该库函数...
- linux设定时间查看文件,查看linux系统,服务,配置文件被修改的时间