一、问题的提出
目前的很多数据库应用程序是使用ORACLE数据库开发的client/server模式。众所周知,使用此种模式需要在终端上安装ORACLE客户端软件。应用程序可以使用InstallShield软件打包成安装程序,由用户自行安装。但ORACLE客户端软件一般需要有经验的开发人员通过人机交互的方法安装,安装完成后还需在Net8中配置服务名。这样当软件发布时,可能需要在不同地点的成千上万个终端上安装ORACLE客户端,让费了大量的人力及时间。
如何能在不需要人员干预的情况自动完成ORACLE客户端的安装及配置工作,是否能将此工作集成到应用程序的安装中去?
答案是肯定的,下面逐步阐述实现的过程。
二、实现步骤
1、共享ORACLE安装程序
可将ORACLE安装程序放置到一台应用服务器的光驱或拷贝到应用服务器的一个目录下并共享,在这里我们假定服务器名称为softserver,放置路径为oracle。
2、编写响应文件自动安装ORACLE客户端
ORACLE的缺省的安装模式为人机交互方式。即运行ORACLE安装盘上的setup.exe后,按照安装程序的提示一步一步的选择完成安装。ORACLE同时也提供了自动安装(非人机交互)方式。此种模式的前提是必须写一个响应文件。关于此种方式的说明可以在ORACLE安装盘中找到,文件名为doc\Output\advance.htm。在response目录下有一些响应文件的模板,可以根据需要将模板修改成适合自己的响应文件。
在这里我们举一个只安装Net8的例子,文件名定为\\softserver\oracle\net8.rsp,内容如下:
[General]
RESPONSEFILE_VERSION=1.7.0
[SESSION]
#products.jar文件所在的路径(在ORACLE安装盘中)
FROM_LOCATION="\\softserver\oracle\stage\products.jar"
#ORACLE安装目录
ORACLE_HOME="C:\oracle\ora81"
#ORACLE安装目录的别名
ORACLE_HOME_NAME="ora8"
#顶级安装方式,这里选择客户端
TOPLEVEL_COMPONENT={"oracle.client","8.1.7.0.0"}
#是否显示动画,缺省为false
SHOW_SPLASH_SCREEN=false
#是否显示欢迎界面,缺省为false
SHOW_WELCOME_PAGE=false
#是否显示安装过程界面,缺省为true
SHOW_INSTALL_PROGRESS_PAGE=false
#是否显示需求信息,缺省为true
SHOW_REQUIRED_CONFIG_TOOL_PAGE=false
#
#ORACLE客户端选项
#
[oracle.client_8.1.7.0.0]
#语言,这里用英语,简体中文
COMPONENT_LANGUAGES={"en","zh_CN"}
#安装方式(缺省、定制、最小),这里用定制
INSTALL_TYPE="Custom"
#要安装的产品列表,这里选择Net8
DEPENDENCY_LIST={ "oracle.networking.netcltprod","8.1.7.0.0"}
#
#Net8产品
#
[oracle.networking.netcltprod_8.1.7.0.0]
DEPENDENCY_LIST={ "oracle.networking.netclt","8.1.7.0.0"}
#
# Net8配置助手
#
[oracle.networking.netca_8.1.7.0.0]
#是否在安装后启动Net8配置助手,缺省为true
b_launchNETCA=false