一、問題的提出
目前的很多數據庫應用程序是使用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
此時,如果我們在命令行執行命令:
\\softserver\oracle\setup –responsefile
\\softserver\oracle\net8.rsp –silent