Client端不安裝Oracle而用PowerBuilder直連的方法

发表于:2007-07-02来源:作者:点击数: 标签:
Client端不安裝Oracle的方法 廣東中山 謝殿宏 2001/04/03 前言: 曾在網上見到許多人問Client端不安裝Oracle而使PB程序連上後臺Oracle資料庫的方法, 本人從事pb+ oracle 開發已有些時日,每次都得安裝Oracle的Client端程式,而我面對的 Client端則有幾百個
 

Client端不安裝Oracle的方法


廣東中山   謝殿宏


2001/04/03


 


前言:


曾在網上見到許多人問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 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個文件,其中,Lx3*.nlb(63個文件)不需要,


其餘351個文件是必不可少的,全部文件大小不超過2M,


 


測試環境:


 


    我找了一台新電腦,裝上Win98,建立一個新目錄:C:\test,將上述文件copy到此目錄下,


    再修改註冊表:\\HKEY_LOCAL_MACHINE OFTWARE下的內容


    在SOFTWARE下新增一個子鍵:ORACLE


    選擇ORACLE,在對應右窗格內新增兩個串值:


    NLSRTL32     其值爲:C:\TEST


    NLS_LANG  其值爲:TRADITIONAL CHINESE_TAIWAN.ZHT16BIG5


 


    其中,NLSRTL32是爲*.NLB文件指明搜索路徑,NLS_LANG則是指明ORACLE的符集,我


  測試時用的是繁體中文.


 


    其後我又找了兩台未裝ORACLE的電腦測試,屢試不爽.


 


說明:若是PB7或ORACLE8,上述文件請對照更改,有一些dll文件是位於C:\windows ystem下,


如:netbios.dll等是Windows自有的,所以未列入,實際作業時請酌情考慮.


 


借助工具:Sax Setup 6.0


    Sax Setup是一個相當簡單易用的安裝打包工具,它有一個最大的特點就是能偵測出應用程序


運行時所需要的dll文件,但不能偵測出其他類型的文件,且要註冊版本才行.


Sax Setup 6.0 的註冊碼:3160-3194666-18


 


後記:以上過程,我花了近4天的時間,希望能為pb+oracle的開發者有所幫助,但請各位轉貼時,


   注明出處,尊重作者勞動,以上內容如有不正確的地方也請來信指出,多多交流.

原文转自:http://www.ltesting.net