Client端不安裝Oracle而用PowerBuilder直連的方法
2024-08-29 13:30:57
供稿:網(wǎng)友
client端不安裝oracle的方法
廣東中山 謝殿宏
2001/04/03
前言:
曾在網(wǎng)上見到許多人問client端不安裝oracle而使pb程序連上後臺(tái)oracle資料庫的方法,
本人從事pb+oracle開發(fā)已有些時(shí)日,每次都得安裝oracle的client端程式,而我面對(duì)的
client端則有幾百個(gè)之多,工作量可以想象何其大,所以就在這方面動(dòng)了下腦筋,經(jīng)過反復(fù)
試驗(yàn),終於搞定.
開發(fā)環(huán)境: 前臺(tái):pb6.5+win95+oracle 7.3.4 client 後臺(tái):redhat linux 6.2+oracle 8.1.6
有關(guān)oracle資料庫別名的配置:(%oracle_homes% 表示oracle的安裝目錄)
當(dāng)在sql neteasy configuration中配置oracle資料庫別名時(shí),與sql server 7和odbc不同的是
oracle並沒有把資料庫別名資訊寫入註冊(cè)表中,而是寫入了一個(gè)文本文件之中:
%oracle_homes%/network/admin/tnsnames.ora,(此文件與同目錄下的sqlnet.ora一起使用),當(dāng)運(yùn)行pb程
序的時(shí)候,實(shí)際上在讀取這兩文件中的數(shù)據(jù)庫配置信息.
應(yīng)用程序運(yùn)行所需要的文件:
檔案名稱
文件來源
pbvm60.dll
c:/program files ybase hare 必不可少
pbdwe60.dll
c:/program files ybase hare 必不可少
pbo7360.dll
c:/program files ybase hare 必不可少
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個(gè)文件,其中,lx3*.nlb(63個(gè)文件)不需要,
其餘351個(gè)文件是必不可少的,全部文件大小不超過2m,
測試環(huán)境:
我找了一臺(tái)新電腦,裝上win98,建立一個(gè)新目錄:c:/test,將上述文件copy到此目錄下,
再修改註冊(cè)表://hkey_local_machine oftware下的內(nèi)容
在software下新增一個(gè)子鍵:oracle
選擇oracle,在對(duì)應(yīng)右窗格內(nèi)新增兩個(gè)串值:
nlsrtl32 其值爲(wèi):c:/test
nls_lang 其值爲(wèi):traditional chinese_taiwan.zht16big5
其中,nlsrtl32是爲(wèi)*.nlb文件指明搜索路徑,nls_lang則是指明oracle的符集,我
測試時(shí)用的是繁體中文.
其後我又找了兩臺(tái)未裝oracle的電腦測試,屢試不爽.
說明:若是pb7或oracle8,上述文件請(qǐng)對(duì)照更改,有一些dll文件是位於c:/windows ystem下,
如:netbios.dll等是windows自有的,所以未列入,實(shí)際作業(yè)時(shí)請(qǐng)酌情考慮.
借助工具:sax setup 6.0
sax setup是一個(gè)相當(dāng)簡單易用的安裝打包工具,它有一個(gè)最大的特點(diǎn)就是能偵測出應(yīng)用程序
運(yùn)行時(shí)所需要的dll文件,但不能偵測出其他類型的文件,且要註冊(cè)版本才行.
sax setup 6.0 的註冊(cè)碼:3160-3194666-18
後記:以上過程,我花了近4天的時(shí)間,希望能為pb+oracle的開發(fā)者有所幫助,但請(qǐng)各位轉(zhuǎn)貼時(shí),
注明出處,尊重作者勞動(dòng),以上內(nèi)容如有不正確的地方也請(qǐng)來信指出,多多交流.