一、引言 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.dlloracle.keyoraclient9.dlloracommon9.dllORACORE9.DLLorageneric9.dlloraldapclnt9.dlloran9.dllORANCDS9.DLLorancrypt9.dlloranhost9.dlloranl9.dlloranldap9.dllORANLS9.DLLoranms.dlloranmsp.dllorannzsbb9.dlloranoname9.dlloranro9.dllorantns9.dllORAPLS9.DLLORASLAX9.DLLORASNLS9.DLLORASQL9.DLLoratrace9.dllORAUNLS9.DLLoravsn9.dllorawtc9.dllORAXML9.DLLORAXSD9.DLLAppdir\bin目录下有一个文件orantcp9.dllAppdir\network\ADMIN目录下只有一个文件,该文件是连接数据库的配置文件tnsnames.oraAppdir\ocommon\nls\ADMIN\DATA目录下有8个文件,这些文件是简体中文语言环境的支持文件,其它语言运行环境所需文件会有不同LX00001.NLBLX00023.NLBLX10001.NLBLX10035.NLBLX1BOOT.NLBLX20001.NLBLX20354.NLBLX60354.NLBAppdir\oracore\zoneinfo目录下只有一个文件,用来存储时区信息timezone.dat2.修改网络配置文件在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:使用的协议,本例使用TCPHOST:服务器的地址PORT:服务器的监听端口号,默认使用1521SERVICE_NAME: Oracle数据库服务器的名称3.编辑oracle.key文件文件oracle.key指明了在注册表中Oracle程序的存储目录,以及ORACLE_HOME和其它的环境变量等信息,该文件内容很少,只记录了简单的目录项,用记事本便可打开对其进行编辑,通常情况下的设置为:software\appdirOracle连接数据库时会到注册表的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。本文所叙述的方法文件小巧、实现方便,也具有很好的实用价值。