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,(此文件與同目錄下的sq.net.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 必不可少
sq.net.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的開發者有所幫助,但請各位轉貼時,
注明出處,尊重作者勞動,以上內容如有不正確的地方也請來信指出,多多交流.
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器