分类
关于外汇信号的常见问题

客户选择 OCI 的原因

8)点击 文件-保存网络配置 ,至此完成了服务名的配置。

9)打开设计器,打开服务器下面的 定义数据连接 ,如下图:

转:oracle的jdbc连接方式:oci和thin

thin是一种瘦客户端的连接方式,即采用这种连接方式不需要安装oracle客户端,只要求classpath中包含jdbc驱动的jar包就行。thin就是纯粹用Java写的ORACLE数据库访问接口。
oci是一种胖客户端的连接方式,即采用这种连接方式需要安装oracle客户端。oci是Oracle Call Interface的首字母缩写,是ORACLE公司提供了访问接口,就是使用Java来调用本机的Oracle客户端,然后再访问数据库,优点是速度 快,但是需要安装和配置数据库。

从相关资料可以总结出以下几点:
1. 从使用上来说,oci必须在客户机上安装oracle客户端或才能连接,而thin就不需要,因此从使用上来讲thin还是更加方便,这也是thin比较常见的原因。
2. 原理上来看,thin是纯java实现tcp/ip的c/s通讯;而oci方式,客户端通过native java method调用c library访问服务端,而这个c library就是oci(oracle called interface),因此这个oci总是需要随着oracle客户端安装(从oracle10.1.0开始,单独提供OCI Instant Client,不用再完整的安装client)
3. 它们分别是不同的驱动类别,oci是二类驱动, thin是四类驱动,但它们在功能上并无差异。

从使用thin驱动切换到oci驱动在配置来说很简单,只需把连接字符串java:oracle:thin:@hostip:1521:实例名换为java:oracle:[email protected]本地服务名即可。如:从
jdbc:oracle:thin:@10.1.1.2:1521:shdb
改成
jdbc:oracle:oci8:@shdb 客户选择 OCI 的原因
但 这里这台机需安装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%jdbclibclasses12.jar加到CLASSPATH环境变量里.也可以把classes12.jar拷贝到tomcat的commanlib目录下。
对于windows系统并使用oracle的即时客户端时(假定即时客户端解压在d盘):
1. 把d:instantclient_10_2加到PATH环境变量
2. 把d:instantclient_10_2classes12.jar加到CLASSPATH环境变量里.也可以把classes12.jar拷贝到tomcat的commanlib目录下。

对于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的commanlib目录下。

对于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的commanlib目录下。

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

SHDB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = 客户选择 OCI 的原因 TCP)(HOST = 10.1.1.236)(PORT = 1521))) (CONNECT_DATA =(SERVICE_NAME = shdb)))即可。

wuyaqiu714 / gist:bf15b2371495c3578e68

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

Oracle11g 客户端 SQL Navigator 出现Cannot load OCI DLL: oci.dll Install an Oracle Client. It is .

Install an Oracle Client. It is 客户选择 OCI 的原因 客户选择 OCI 的原因 essential to setup an Oracle client before running SQL 客户选择 OCI 的原因 Navigator. Please refer to SQL Navigator Installation Notes for more information.

原因在于SQL Navigator 是32位的,对应的Oracle客户端也应该安装32位,这个32位与电脑是64位无关,详细内容之后分析。

更多相关推荐

Unable to load DLL (oci.dll) 解决

asp.net+oracle数据库开发时。会遇到UnabletoloadDLL(oci.dll) 问题。 客户选择 OCI 的原因 原因是你的oracle安装在NTFS分区上。被认证用户没有权限操作oracle的部分文件 解决办法: 为oracle安装目录设置权限。即给这个用户authenticate.

[设计器]通过oci方式连接Oracle


2)选中 Oracle net 配置-本地-服务命名,单击左边的 创建 ,如下图:

3)在弹出的网络服务名向导框中,输入服务名,这个名可以随便写,填完后点击 下一步 ,如下图:


4)保持默认的 TCP/IP 协议,点击 客户选择 OCI 的原因 下一步 ,如下图:


5)输入要连接的数据库的 IP 地址和端口号,然后点击 下一步 ,如下图:

6)输入数据库名,即所谓的 databaseName,点击 下一步 ,如下图:

7)点击 测试 ,在弹出的窗口测试是否能正常连上数据库( 注意用户名密码是否正确 客户选择 OCI 的原因 客户选择 OCI 的原因 ),成功连上数据库则点完成。如下图:


8)点击 文件-保存网络配置 ,至此完成了服务名的配置。

9)打开设计器,打开服务器下面的 定义数据连接 ,如下图:


10)新建 JDBC 数据连接,选择 Oracle,在 URL 里面输入 oci 连接方式,输入用户名,密码,点击 测试连接 ,如下图:

URL 最后面的这个名称是第三步输入的那个网络服务名。

64位 Windows 10 操作系统

1)FineReport10.0 是 64 位的,要对应的 64 位的 Oracle 客户端。

2)检查日志中的报错信息,如发现 create connection error, url: jdbc:oracle:oci:@axing, errorCode 12154, state 66000 类似信息

3)检查日志中的报错信息,如发现 错误代码:11300008 数据库连接失败: no ocijdbc10 in java.library.path

则是缺少 ocijdbc10.dll 文件,将此文件下载复制到 Oracle 客户端安装目录对应的 product\11.2.0\dbhome_1\BIN 路径下,重启设计器即可。