免安装oracle客户端连接数据库服务器的方法

时间:2022-09-12 09:30:14

 一、引言

 

Oracle作为一款专业的数据库软件系统可以运行于多层次网络结构,包括单机系统,C/S(客户机/服务器)结构,B/S(浏览器/服务器)结构等。在C/S结构下,要使客户端应用程序能连接Oracle数据库,需要在客户端计算机上安装体积超过120MB的Oracle客户端软件,并进行复杂的配置才能实现。如果应用程序需要部署在多个客户端上,那么安装Oracle客户端和配置连接数据库服务器的工作将变得非常繁琐。

目前Oracle数据库的最新版本是10g,在实际应用中以8i,9i居多,本文以9i为例介绍一种在不安装Oracle客户端的情况下,应用程序在客户端连接Oracle数据库服务器的方法。

 

二、具体实现

 

安装在客户端的应用程序要连接Oracle数据库服务器,需要Oracle数据库的驱动程序,接口文件和各类支持文件。这些文件必须和应用程序存放在相同的目录下,如果单独存放,可以设置环境变量,使应用程序在相应目录下找到这些文件。

1.应用程序所需文件

在安装了Oracle客户端的计算机上可以找到应用程序连接数据库时所需的所有文件,文件共41个,12.9MB。这些文件必须严格按照以下目录位置进行存放, Appdir是应用程序当前目录。

Appdir目录下共30个文件,这些文件是连接Oracle数据库所需的动态链接库

oci.dll

oracle.key

oraclient9.dll

oracommon9.dll

ORACORE9.DLL

orageneric9.dll

oraldapclnt9.dll

oran9.dll

ORANCDS9.DLL

orancrypt9.dll

oranhost9.dll

oranl9.dll

oranldap9.dll

ORANLS9.DLL

oranms.dll

oranmsp.dll

orannzsbb9.dll

oranoname9.dll

oranro9.dll

orantns9.dll

ORAPLS9.DLL

ORASLAX9.DLL

ORASNLS9.DLL

ORASQL9.DLL

oratrace9.dll

ORAUNLS9.DLL

oravsn9.dll

orawtc9.dll

ORAXML9.DLL

ORAXSD9.DLL

Appdir/bin目录下有一个文件

orantcp9.dll

Appdir/network/ADMIN目录下只有一个文件,该文件是连接数据库的配置文件

tnsnames.ora

Appdir/ocommon/nls/ADMIN/DATA目录下有8个文件,这些文件是简体中文语言环境的支持文件,其它语言运行环境所需文件会有不同

LX00001.NLB

LX00023.NLB

LX10001.NLB

LX10035.NLB

LX1BOOT.NLB

LX20001.NLB

LX20354.NLB

LX60354.NLB

Appdir/oracore/zoneinfo目录下只有一个文件,用来存储时区信息

timezone.dat

2.修改网络配置文件

在Appdir/network/ADMIN目录下的tnsnames.ora文件是重要的配置文件,在这个文件中存储了连接Oracle数据库服务器的参数——服务命名对应的连接子串。该文件可以用记事本进行编辑,以下是一个tnsnames.ora文件中的配置实例:

APPDB =

(DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = APPDB)

    )

)

各参数说明

APPDB:本地命名的名称,即Oracle数据库的名字

PROTOCOL:使用的协议,本例使用TCP

HOST:服务器的地址

PORT:服务器的监听端口号,默认使用1521

SERVICE_NAME: Oracle数据库服务器的名称

3.编辑oracle.key文件

文件oracle.key指明了在注册表中Oracle程序的存储目录,以及ORACLE_HOME和其它的环境变量等信息,该文件内容很少,只记录了简单的目录项,用记事本便可打开对其进行编辑,通常情况下的设置为:

software/appdir

Oracle连接数据库时会到注册表的HKEY_LOCAL_MACHINE/SOFTWARE/APPDIR的对应项中查找数据库的相关信息。

4.注册数据库信息

完成以上工作后,只需在注册表中写入Oracle数据库的语言环境和资源路径,应用程序便可以连接Oracle数据库,无需设置操作系统的环境变量,注册表信息的保存位置应与oracle.key文件中设定的项值对应,注册表的清单如下:

[HKEY_LOCAL_MACHINE/SOFTWARE/APPDIR]

"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

"ORACLE_HOME"="C://Program Files//appdir"

SIMPLIFIED CHINESE_CHINA.ZHS16GBK表示使用简体中文字符集。应用程序和连接Oracle数据库所需的文件存放在C:/Program Files/appdir目录下,即应用程序的安装目录。

 

三、总结

 

为了解决客户端应用程序在不安装Oracle客户端的情况下,方便地连接数据库,Oracle在其最新版本的数据库系统中推出了一款免费的工具Instant Client,利用该工具中提供的若干个文件,客户端应用程序既不需要修改注册表,也不需要设置环境变量,便可以连接Oracle数据库服务器,使得应用程序的发行和部署更加简单,不过Instant Client提供的核心文件体积超过了90MB。本文所叙述的方法文件小巧、实现方便,也具有很好的实用价值。