在安装了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”

解决方案 »

  1.   

    请将以下文件拷贝到运行文件所在目录    
     
    一、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自有的,所以未列入,實際作業時請酌情考慮.  
      

  2.   

    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   Sqltnsnt.dll  CORE35.DLL 
    都找不到了,这是怎么回事啊。我装的9i,是不是没有这些dll啊。
      

  3.   

    如何把应用程序程序和ORACLE客户端一起打包   发表日期:2004-08-20 作者:毕照杰       我们在做程序的时候,经常会需要安装ORACLE的客户端,如果客户终端非常多的时候,这就会是一项很麻烦的工作,一方面要安排我们的应用程序,另一方面要安装RACLE客户端,而且还要对ORACLE客户端进行NET EASY配置,真是不胜其烦。
       为此我研究了很久,现在终于做到了可以把ORACLE客户端和应用程序一起打包,又自己用程序来配置NET EASY,刚好前两天有两个小弟问我如何把客户端打包和用程序配置NET EASY的问题,我今天就在这里说一下。
       由于时间问题,今天就只能讲一下客户端打包的问题,另一个问题我会在下一篇给大家讲一下。
    1、打包要知道的问题:
      A、要打包哪些文件。
      B、如何修改注册表。
      C、如何设置环境变量。
      D、打包使用哪些工具。
    2、打包要使用的文件:
      我们先找一个装有ORACLE的机器,把以下的文件打包。为了保证ORACLE能正常访问,我们需要保持原目录结构不变。
      A、$ORACLE_HOME\BIN下边所有DLL,IMP.EXE,EXP.EXE,SQLPLUS.EXE,SQLPLUSW.EXE。($ORACLE_HOME指的是ORACLE的主目录,比如D:\ORACLE\ORA8I)。
      B、$ORACLE_HOME\network目录下的三个目录:Admin、mesg、tnsapi,把它们全部打包。
      C、$ORACLE_HOME\ocommon\nls目录。
      D、$ORACLE_HOME\oracore\mesg目录。
      E、$ORACLE_HOME\sqlplus下的两个目录:admin、mesg。
    3、如何修改注册表:
      为不麻烦,我们可以把这个装有ORACLE的机器的注册表里边ORACLE信息照搬过来。全部照抄。
    4、如何设置环境变量:
      设置环境变量,我们要在PATH前边加上$ORACLE_HOME\BIN;
    5、使用哪些打包工具:
          我个人比较喜欢的工具是WiseInstaller,它的功能很强大,能导入整个文件目录(我感觉这一点比Install shilled要好)、导入注册表、也可以设置环境变量,以及设置NT服务等等(我好象是给它做广告似的)。
          我们现在就可以使用它来做我们的客户端了。
          第一步,先把我说的这些文件目录全部导入到我们的安装工程中去。
          第二步,找到设置注册表选项,导入注册表中HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下边所有的注册表值。
          第三步,找到环境变量设置选项,在它的PATH那里加上$ORACLE_HOME\BIN。这里的$ORACLE_HOME用<Installdir>来代替。
          做完这一切,编译,发布,OK。
    6、如何用手工来修改NET EASY。
          现在假设我们已经做完了这个安装包,并且把它安装到了我们的电脑上边,那么,在开始菜单上是没有ORACLE这个选项的,如何设置ORACLE NET EASY呢?
          我们现在暂时可以这样做:
          打开我们的ORACLE客户端的安装目录,找到NETWORK\ADMIN子目录下边的tnsnames.ora这个文件,直接对它进行编辑就行了。
          比如,我们现在想配置一个叫做NTSERVER的服务名,我们就可以这样写:
    NTSERVER = 
    (DESCRIPTION =
       (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 机器名)(PORT = 端口号))
       )
       (CONNECT_DATA =
          (SERVICE_NAME = 全局数据库名)
       )
    )
          然后,直接把它加到tnsnames.ora这个文件的后边就行了。
          如果NTSERVER这个服务名已经存在的话,我们可以直接修改它的机器名、
          端口号和全局数据库名就可以了。