不安裝oracle客戶端部署PB應用
--摘自《PB8.0進階篇》
在安裝了Oracle客戶端程式後,在Oracle安裝目錄下有如下目錄和檔案是連線Oracle資料庫伺服器所必需的:(最好保持目錄層次關係結構)
Oracle/BIN目錄以及下面的所有DLL檔案,並且保證應用程式可以找到該目錄,即該目錄為系統目錄或者PATH目錄。
Oracle/OCOMMON/NLS/ADMIN目錄以及其下所有檔案
Oracle/OCOMMON/NLS/MESG目錄以及其下所有檔案
Oracle/NETWORK/tnsnames.ora
Oracle/ORACORE/Mesg以及其下所有MSB檔案
PowerBuilder程式需要:PBO8480.DLL、PBVM80.DLL、PBDWE80.DLL、libjcc.dll
新增如下注冊表:
=====================================================================
[HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE]
"ORACLE_HOME"="E://oracle" //安裝時確定的Oracle客戶端安裝主目錄
"ORACLE_HOME_NAME"="iSuites" //Oracle主目錄名稱
"NLS_LANG"="NA"
[HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/ALL_HOMES]
"HOME_COUNTER"="1"//主目錄個數
"DEFAULT_HOME"="Oracle815"//預設的主目錄名稱
"LAST_HOME"="0"
[HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/ALL_HOMES/ID0]
"NAME"="Oracle815"//第一個主目錄名稱
"PATH"="E://oracle" //Oracle安裝目錄
"NLS_LANG"="NA"
[HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0]
"ORACLE_HOME_NAME"="Oracle815"//主目錄名稱
"ORACLE_HOME"="E://oracle"//Oracle安裝目錄
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"//語言
"ORACLE_HOME_KEY"="Software//ORACLE//HOME0"//主目錄資訊存放位置
"ORACLE_BASE"="E://oracle" //Oracle安裝目錄
"TNS_ADMIN"="E://oracle//NETWORK//tnsnames.ora"//tnsnames.ora存放的位置,如果將該檔案放在“E:/oracle/NETWORK/”目錄下,則“TNS_ADMIN”賦值為“E://oracle//NETWORK//tnsnames.ora”
=====================================================================
請將以下檔案拷貝到執行檔案所在目錄
一、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
具體步驟。
1.先在某機器上安裝好客戶端(最好安裝在c盤);
2.複製此客戶端oracle目錄下的所有檔案作為獨立的oracle安裝檔案;
3.搜尋登錄檔,找到 HKey_Local_machine/software/oracle,把此專案及分支全部匯出。
4.打包好你的pb程式,並獨立打包好oracle客戶端和登錄檔匯出檔案。
5.到乾淨的客戶端,解開兩個包,匯入登錄檔檔案,然後加入路徑支援:
path=%path%;"c:/Ora817/bin"
這樣處理,應該沒有問題,因為我就是這樣快速處理了幾十個機器。
若不想搞登錄檔,你可以在程式中自己寫登錄檔,構成Oracle客戶端必要的登錄檔支援,至於路徑,手工新增應該不難。
至於Oracle客戶端那些檔案不需要,這個不好說,你可以把那些bin目錄下的所有exe刪除,Oracle Document刪除(7x兆)
至於定義Oracle服務,找到 Ora817/net80/admin/TnsName.ora,參照格式,程式中生成一個也不麻煩。
--------------------------------------------------------------------------------
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的開發者有所幫助,但請各位轉貼時,註明出處,尊重作者勞動,以上內容如有不正確的地方也請來信指出,多多交流.
相關文章
- 不安裝oracle客戶端使用sqlplusOracle客戶端SQL
- 在不安裝oracle客戶端的情況下,使用PLSQLOracle客戶端SQL
- 不安裝Oracle客戶端也能使用PL/SQL instantclientOracle客戶端SQLclient
- C#不安裝Oracle客戶端執行程式的辦法C#Oracle客戶端行程
- 不安裝oracle client客戶端通過plsql developer連線oracle10.2.0.4Oracleclient客戶端SQLDeveloper
- 不安裝Oracle客戶連線Oracle 8的方法(轉)Oracle
- Oracle 客戶端安裝Oracle客戶端
- oracle客戶端安裝Oracle客戶端
- aix安裝oracle客戶端AIOracle客戶端
- centos安裝oracle客戶端CentOSOracle客戶端
- 安裝 Oracle 即時客戶端Oracle客戶端
- 配置安裝版Oracle客戶端Oracle客戶端
- 免安裝Oracle客戶端使用Oracle客戶端
- 用xmanager 客戶端安裝oracle時注意事項客戶端Oracle
- 4.1.7.2.5 與快速應用程式通知整合的Oracle客戶端Oracle客戶端
- 配置免安裝版Oracle客戶端Oracle客戶端
- LightDB/PostgreSQL 客戶端部署SQL客戶端
- linux簡易 Oracle客戶端安裝LinuxOracle客戶端
- 「Oracle」客戶端 PL/SQL DEVELOPER 安裝使用Oracle客戶端SQLDeveloper
- windows7下安裝oracle客戶端WindowsOracle客戶端
- Asterisk-WebRTC客戶端的部署ASTWeb客戶端
- 03. 實現客戶端應用程式客戶端
- oracle客戶端升級Oracle客戶端
- 為oracle客戶端瘦身:Oracle客戶端
- MySQL 客戶端安裝MySql客戶端
- zabbix 客戶端安裝客戶端
- oracle11g客戶端靜默安裝Oracle客戶端
- WINDOWS8.1安裝ORACLE客戶端及配置WindowsOracle客戶端
- oracle客戶端無人值守安裝 靜默安裝Oracle客戶端
- 【Azure 應用服務】應用程式碼需要客戶端證書進行驗證,部署到App Service後,如何配置讓客戶端攜帶證書呢?客戶端APP
- OSSEC服務端配置客戶端批次部署方案服務端客戶端
- 在netweaver中建立應用程式客戶端客戶端
- Oracle 客戶端生成AWR方法Oracle客戶端
- Ceph的客戶端安裝客戶端
- Git-客戶端安裝Git客戶端
- CentOS安裝git客戶端CentOSGit客戶端
- Mac OS X 10.6.8下安裝Oracle客戶端MacOracle客戶端
- 轉Oracle安裝臨時客戶端使用總結Oracle客戶端