发新话题
打印

Client端不安装Oracle而用PowerBuilder直连的方法

Client端不安装Oracle而用PowerBuilder直连的方法

    

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的开发者有所帮助,但请各位转贴时,


   注明出处,尊重作者劳动,以上内容如有不正确的地方也请来信指出,多多交流.

TOP

发新话题