pb8+oracle9i连接服务器不想装oracle客户端怎么办
查到网上信息但是由于版本不同,很多文件根本找不到。请问谁有
pb8+oracle9i连接服务器不想装oracle客户端的办法?
另外,能不能不用修改注册表?
如果必须修改注册表,哪里可以得到修改注册表的打包工具?如何操作?
谢谢
附加已有资料:
标题 Client端不安裝Oracle而用PowerBuilder直連的方法 honye2000(原作)
关键字 pb+oracle
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\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
後記:以上過程,我花了近4天的時間,希望能為pb+oracle的開發者有所幫助,但請各位轉貼時,
注明出處,尊重作者勞動,以上內容如有不正確的地方也請來信指出,多多交流.
方法2:
不安装oracle客户端,pb应用程序如何连接到oracle服务器在线等待,
原来使用 sql server2000,客户端只要在应用程序相同目录有几个动态连接库文件
ntwdblib.dll,sqlsrv32.dll,pbmss80.dll,
现在改用oracle ,是不是也可以有些文件就行了?如果是,请问除了pbo8480.dll还需要什么?
在线等待,问题解决立即给分
---------------------------------------------------------------
其实安装客户端就是注册连接oracle的动态库罢了,找出那几个动态库ctl3d32.dll msvcrt40.dll odbc16gt.dll odbc32.dll odbc32gt.dll odbccp32.dll odbccr32.dll odbcint.dll 然后在安装程序中将其自动注册就可以了!但是开发的时候还是安装客户端最好,这样调试起来方便
摘自:http://pb.rednine.com/index.html
====
请将以下文件拷贝到运行文件所在目录
一、ODBC动态库 :
ctl3d32.dll msvcrt40.dll odbc16gt.dll odbc32.dll odbc32gt.dll odbccp32.dll odbccr32.dll odbcint.dll
二、建立EXTRA子目录,将MSVCRT.DLL文件拷贝到该子目录下
EXTRA\MSVCRT.DLL
三、ORACLE动态库及配置文件
Tnsnames.ora CORE35O.DLL NASNSNT.DLL NAUNTSNT.DLL NCRNT.DLL Nlnt.dll NLSRTL32.DLL Nnfdnt.dll NNFNNT.DLL NSNT.DLL NTNT.DLL NTTNT.DLL CIW32.DLL Ora73.dll OTRACE73.DLL Sqlnet.ora Sqltnsnt.dll CORE35.DLL
四、PB动态库
pbvm70.dll pbdwe70.dll Pbo7370.dll PBO8470.DLL pbodb70.dll libjcc.dll