• 如何利用InstallShield for Delphi7打包Oracle9i客户端制作C/S数据库应用程序?


    各位大虾:

    小生菜鸟飞飞想完成如下工作:
    Oracle9i作为后台数据库,以Delphi7作为前台开发工具制作一个客户机/服务器(C/S)类型的数据库应用系统.计划以ADO组件的形式访问数据库中的表.
    请问我该如何利用Delphi7自带的安装程序制作工具InstallShield Express for Delphi7将Oracle客户端打包进安装程序呢? 如果每一台客户机上都要安装Oracle客户端的话那好象太笨了.请问有没有什么办法可以直接把需要的文件拷贝出来,同时把注册表里的哪些值需要导出来呢?飞飞不想利用第三方控件,因为怕涉及到版权问题,很麻烦.
    请这方面有经验的大虾给予指点,最好能给出详细的步骤,因为飞飞在这方面经验是很欠缺的.
    飞飞在此多谢了!

    我建議:
    1. 用BDE連接方式較好
    2. InstallShield Express for Delphi7生成最小安裝程式
    3. 在你電腦最小化安裝ORACLE 
    4. 把以上二者安裝在硬盤的程式打包拷貝出來
    5. 用XCOPY  把這些文件按原目錄拷貝進電腦就可以
    6. 不過電腦需要重新啟動的
    7. 以上文件在安裝時最好裝在C:盤
        因為有電腦只有C:盤,可能沒有別的盤的
    8. 以上拷貝過程要作個批處理的

    以下是我的批處理,參考一下:
    z:ufferSETUPFOXSETUP
    XCOPY z:BUFFEROOPROGRA~1*.* /S C:PROGRA~1
    MD c:ORACLE
    XCOPY z:BUFFEROOORACLE*.* /S c:ORACLE
    COPY C:AUTOEXEC.BAT C:AUTOEXEC1.BAT
    COPY z:BUFFER2AUTOEXEC.BAT C:
    COPY z:BUFFEROON8EC_D.LNK C:
    COPY z:BUFFEROO*.REG C:
    REGEDIT C:ORACLE.REG
    REGEDIT C:ODBC1.REG
    REGEDIT C:ODBC2.REG
    COPY z:ufferSETUPDLL*.* C:WINNTSYSTEM
    COPY z:ufferSETUPDLL*.* C:WIN98SYSTEM
    COPY z:ufferSETUPDLL*.* C:CWIN98SYSTEM
    COPY z:ufferSETUPDLL*.* C:WINdowsSYSTEM
    COPY z:ufferSETUPDLL*.* C:WINdows.000SYSTEM
    MD C:FOXMOLD
    COPY z:BUFFERFOXMOLD*.* C:FOXMOLD
    COPY Z:FOXMOLD*.LNK C:WINNTDESKTOP
    COPY Z:FOXMOLD*.LNK C:WIN98DESKTOP
    COPY Z:FOXMOLD*.LNK C:CWIN98DESKTOP
    COPY Z:FOXMOLD*.LNK C:WINDOWSDESKTOP
    COPY Z:FOXMOLD*.LNK C:WINDOWS.000DESKTOP
    REM EDIT BY KENT.   -START
    COPY z:BUFFERVCLMID50.BPL C:WINNTSYSTEM32
    COPY z:BUFFERVCLMID50.BPL C:WIN98SYSTEM32
    COPY z:BUFFERVCLMID50.BPL C:CWIN98SYSTEM32
    COPY z:BUFFERVCLMID50.BPL C:windowsSYSTEM32
    COPY z:BUFFERVCLMID50.BPL C:windows.000SYSTEM32
    REM EDIT BY KENT.   -END.
    C:PROGRA~1COMMON~1BORLAN~1BDEBDEADMIN
    exit


    以上可适合几種WINDOWS系統版本的

    以下是我的批處理,參考一下:
    安裝DELPHI環境
    z:ufferSETUPFOXSETUP
    XCOPY z:BUFFEROOPROGRA~1*.* /S C:PROGRA~1
    拷貝ORACLE
    MD c:ORACLE
    XCOPY z:BUFFEROOORACLE*.* /S c:ORACLE
    拷貝批處理
    COPY C:AUTOEXEC.BAT C:AUTOEXEC1.BAT
    COPY z:BUFFER2AUTOEXEC.BAT C:
    拷貝ORACLE鍊接及注冊
    COPY z:BUFFEROON8EC_D.LNK C:
    COPY z:BUFFEROO*.REG C:
    註冊
    REGEDIT C:ORACLE.REG
    REGEDIT C:ODBC1.REG
    REGEDIT C:ODBC2.REG
    拷貝DELPHI包
    COPY z:ufferSETUPDLL*.* C:WINNTSYSTEM
    COPY z:ufferSETUPDLL*.* C:WIN98SYSTEM
    COPY z:ufferSETUPDLL*.* C:CWIN98SYSTEM
    COPY z:ufferSETUPDLL*.* C:WINdowsSYSTEM
    COPY z:ufferSETUPDLL*.* C:WINdows.000SYSTEM
    拷貝應用程式
    MD C:FOXMOLD
    COPY z:BUFFERFOXMOLD*.* C:FOXMOLD
    COPY Z:FOXMOLD*.LNK C:WINNTDESKTOP
    COPY Z:FOXMOLD*.LNK C:WIN98DESKTOP
    COPY Z:FOXMOLD*.LNK C:CWIN98DESKTOP
    COPY Z:FOXMOLD*.LNK C:WINDOWSDESKTOP
    COPY Z:FOXMOLD*.LNK C:WINDOWS.000DESKTOP
    REM EDIT BY KENT. -START
    拷貝DELPHI包
    COPY z:BUFFERVCLMID50.BPL C:WINNTSYSTEM32
    COPY z:BUFFERVCLMID50.BPL C:WIN98SYSTEM32
    COPY z:BUFFERVCLMID50.BPL C:CWIN98SYSTEM32
    COPY z:BUFFERVCLMID50.BPL C:windowsSYSTEM32
    COPY z:BUFFERVCLMID50.BPL C:windows.000SYSTEM32
    REM EDIT BY KENT. -END.
    C:PROGRA~1COMMON~1BORLAN~1BDEBDEADMIN
    exit
    修改DELPHI BDE

    1.在安装了Oracle客户端程序后,在Oracle安装目录下有如下目录和文件是连接Oracle数据库服务器所必需的:(最好保持目录层次关系结构) 
    2.OracleBIN及子目录文件,并且保证应用程序可以找到该目录,即该目录为系统目录或者PATH目录。 
    3.OracleOCOMMONNLSADMIN目录以及其下所有文件 
    4.OracleOCOMMONNLSMESG目录以及其下所有文件 
    5.OracleNETWORKADMIN nsnames.ora 这个文件是配置网络服务名用的 
    可以用记事本打开,改为正确的配置。 
    6.OracleORACOREMesg以及其下所有MSB文件 

    7.导入注册表到客户机: 
    REGEDIT5 
    [HKEY_LOCAL_MACHINESOFTWAREORACLE] 
    "inst_loc"="C:\Program Files\Oracle\Inventory" 
    "ORACLE_HOME"="D:\oracle\ora81" 
    "ORACLE_HOME_NAME"="OraHome81" 
    "API"="D:\oracle\ora81\dbs" 
    "ORACLE_GROUP_NAME"="Oracle - OraHome81" 
    "NLS_LANG"="NA" 
    "OLEDB"="D:\oracle\ora81\oledb\mesg" 
    "VOBHOME2.0"="D:\oracle\ora81" 
    "OO4O"="D:\oracle\ora81\oo4o\mesg" 

    [HKEY_LOCAL_MACHINESOFTWAREORACLEALL_HOMES] 
    "HOME_COUNTER"="1" 
    "DEFAULT_HOME"="OraHome81" 
    "LAST_HOME"="0" 

    [HKEY_LOCAL_MACHINESOFTWAREORACLEALL_HOMESID0] 
    "NAME"="OraHome81" 
    "PATH"="D:\oracle\ora81" 
    "NLS_LANG"="NA" 

    [HKEY_LOCAL_MACHINESOFTWAREORACLEHOME0] 
    "ID"="0" 
    "ORACLE_GROUP_NAME"="Oracle - OraHome81" 
    "ORACLE_HOME_NAME"="OraHome81" 
    "ORACLE_HOME"="D:\oracle\ora81" 
    "NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 
    "ORACLE_SID"="QIAODB" //这个要和服务器的sid一致 
    "ORACLE_HOME_KEY"="Software\ORACLE\HOME0" 
    "SQLPATH"="D:\oracle\ora81\dbs" 
    "ORACLE_BASE"="D:\oracle" 
    "MSHELP_TOOLS"="D:\oracle\ora81\MSHELP" 
    "RDBMS_CONTROL"="D:\oracle\ora81\DATABASE" 
    "RDBMS_ARCHIVE"="D:\oracle\ora81\DATABASE\ARCHIVE"
  • 相关阅读:
    RabbitMQ学习笔记【1】
    【转】ES6学习笔记
    vue学习笔记【2】--模板语法
    vue学习笔记【1】
    npm使用
    Golang密码复杂度校验
    GORM的增删改查
    GORM:创建数据
    golang的time包:时间字符串和时间戳的相互转换
    输出10以内的所有正整数(while+if用法)
  • 原文地址:https://www.cnblogs.com/jijm123/p/12731228.html
Copyright © 2020-2023  润新知