VB.NET开发了一个使用oracle8i客户端的程序,如何打包使用时不必安装oracle8i客户端.急急~~~!!!

时间:2022-06-20 05:51:53
VB.NET开发了一个使用oracle8i客户端的程序,如何打包使用时不必安装oracle8i客户端.急急~~~!!!

请各位高手帮帮看看怎么解决!

有什么工具可以解决这个题,还是要如何解决请各位大侠帮帮忙...很急~~~!

9 个解决方案

#1


曾在網上見到許多人問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到此目錄下,

    再修改註冊表:file://HKEY_LOCAL_MACHINE/SOFTWARE下的內容

    在SOFTWARE下新增一個子鍵:ORACLE

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

    NLSRTL32     其值爲:C:\TEST

    NLS_LANG  其值爲:TRADITIONAL CHINESE_*.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


直接使用Oledb连接,不要使用Oracle的客户端

我当初也是使用了专为.NET开发的一个工具,结果还是需要驱动,而且容易出现版本困扰

最好还是采用oledb的方式连接,这样可以做的通用点

#3


这个不错~ mark~

#4


winner2050(winner):你好!你说的方法我已经试过了...你说的非常的详细了,可是在VB.NET里就是不行,也许我在操作上有点问题,我再去多试几下...你说的方法可能只适合PB吧!至于VB.NET可能需要点什么东西吧!!正在努力调试中....

HAVENT(夜雨流星℡) :你好!你说用oledb连接可以不安装oracle客户端...那oledb的连接方式是什么(它需要不需要再配置什么东东)...它的连接字符串该如何写呢?如何访问oracle数据呢(增\删\改\查)?小弟不才...这个还是第一次搞这东东,望前辈多指教呀!



#5


怎么都没有人呢?高手在哪呀????帮个忙...

#6


帮忙顶一下。关注中

#7


有谁知道吗?

#8


关注

#9


哎....问题还没有办法解决呀1!!!

#1


曾在網上見到許多人問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到此目錄下,

    再修改註冊表:file://HKEY_LOCAL_MACHINE/SOFTWARE下的內容

    在SOFTWARE下新增一個子鍵:ORACLE

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

    NLSRTL32     其值爲:C:\TEST

    NLS_LANG  其值爲:TRADITIONAL CHINESE_*.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


直接使用Oledb连接,不要使用Oracle的客户端

我当初也是使用了专为.NET开发的一个工具,结果还是需要驱动,而且容易出现版本困扰

最好还是采用oledb的方式连接,这样可以做的通用点

#3


这个不错~ mark~

#4


winner2050(winner):你好!你说的方法我已经试过了...你说的非常的详细了,可是在VB.NET里就是不行,也许我在操作上有点问题,我再去多试几下...你说的方法可能只适合PB吧!至于VB.NET可能需要点什么东西吧!!正在努力调试中....

HAVENT(夜雨流星℡) :你好!你说用oledb连接可以不安装oracle客户端...那oledb的连接方式是什么(它需要不需要再配置什么东东)...它的连接字符串该如何写呢?如何访问oracle数据呢(增\删\改\查)?小弟不才...这个还是第一次搞这东东,望前辈多指教呀!



#5


怎么都没有人呢?高手在哪呀????帮个忙...

#6


帮忙顶一下。关注中

#7


有谁知道吗?

#8


关注

#9


哎....问题还没有办法解决呀1!!!