Client端不安裝Oracle的方法

来源:互联网 发布:网络舆情监测专业待遇 编辑:程序博客网 时间:2024/05/01 14:20
曾在網上見到許多人問Client端不安裝Oracle而使PB程序連上後臺Oracle資料庫的方法,
本人從事pb+oracle開發已有些時日,每次都得安裝Oracle的Client端程式,而我面對的
Client端則有幾百個之多,工作量可以想象何其大,所以就在這方面動了下腦筋,經過反復
試驗,終於搞定.

開發環境: 前臺:Pb6.5+win95+Oracle 7.3.4 Client 後臺:Redhat Linux 6.2+Oracle 8.1.6

有關Oracle資料庫別名的配置:(%Oracle_homes% 表示Oracle的安裝目錄)
  當在SQL NetEasy Configuration中配置Oracle資料庫別名時,與SQL Server 7和ODBC不同的是
  Oracle並沒有把資料庫別名資訊寫入註冊表中,而是寫入了一個文本文件之中:
  %Oracle_homes%/network/admin/tnsnames.ora,(此文件與同目錄下的sqlnet.ora一起使用),當運行pb序的時候,實際上在讀取這兩文件中的數據庫配置信息.

應用程序運行所需要的文件:
檔案名稱 文件來源
Pbvm60.dll C:/program files/Sybase/share 必不可少
Pbdwe60.dll C:/program files/Sybase/share 必不可少
Pbo7360.dll C:/program files/Sybase/share 必不可少
Ociw32.dll %Oracle_homes%/bin 必不可少
Core35o.dll %Oracle_homes%/bin 必不可少
Nlsrtl32.dll %Oracle_homes%/bin 必不可少
Core35.dll %Oracle_homes%/bin 必不可少
Ora73.dll %Oracle_homes%/bin 必不可少
Ncrnt.dll %Oracle_homes%/bin 必不可少
Nnfnnt.dll %Oracle_homes%/bin 必不可少
Nnfdnt.dll %Oracle_homes%/bin 必不可少
Ntnt.dll %Oracle_homes%/bin 必不可少
Otrace73.dll %Oracle_homes%/bin 必不可少
Nlnt.dll %Oracle_homes%/bin 必不可少
Nasnsnt.dll %Oracle_homes%/bin 必不可少
Nsnt.dll %Oracle_homes%/bin 必不可少
Sqltnsnt.dll %Oracle_homes%/bin 必不可少
Nttnt.dll %Oracle_homes%/bin 必不可少
Ntnnt.dll %Oracle_homes%/bin 必不可少
Tnsnames.ora %Oracle_homes%/network/admin 必不可少
Sqlnet.ora %Oracle_homes%/network/admin 必不可少
Lx*.nlb %Oracle_homes%/nlsrtl32/data 共有414個文件,其中,Lx3*.nlb(63個文件)不需要,
其餘351個文件是必不可少的,全部文件大小不超過2M,

測試環境:
我找了一台新電腦,裝上Win98,建立一個新目錄:C:/test,將上述文件copy到此目錄下,
再修改註冊表://HKEY_LOCAL_MACHINE/SOFTWARE下的內容
在SOFTWARE下新增一個子鍵:ORACLE
選擇ORACLE,在對應右窗格內新增兩個串值:
NLSRTL32 其值爲:C:/TEST
NLS_LANG  其值爲:TRADITIONAL CHINESE_TAIWAN.ZHT16BIG5
其中,NLSRTL32是爲*.NLB文件指明搜索路徑,NLS_LANG則是指明ORACLE的符集,我測試時用的是繁體中文.
其後我又找了兩台未裝ORACLE的電腦測試,屢試不爽.
說明:若是PB7或ORACLE8,上述文件請對照更改,有一些dll文件是位於C:/windows/system下,
如:netbios.dll等是Windows自有的,所以未列入,實際作業時請酌情考慮.
借助工具:Sax Setup 6.0
Sax Setup是一個相當簡單易用的安裝打包工具,它有一個最大的特點就是能偵測出應用程序運行時所需要的dll文件,但不能偵測出其他類型的文件,且要註冊版本才行.
Sax Setup 6.0 的註冊碼:3160-3194666-18
原创粉丝点击