我们公司最近要求所有实施类项目都要制作相应的安装包,用InstallShield 软件,但是当用该软件制作oracle数据库安装包时,却相当繁琐,要将每个用户下的表、视图、函数、存储过程、包、序列、授权等脚本文件分别导出来,然后打包。  请问:有没有更好的方法或软件制作oracle数据库安装包?

解决方案 »

  1.   

    用脚本做,然后做个程序去执行脚本就可以了
    我们以前都是这样做的 java的用izpack做安装包,把sql脚本整理在文件里,打入包里,做一个界面让用户输入数据库的sid和ip以及端口(我们用的thin方式,不需要客户端),最后点击安装时候,把上面的信息整理成oracle对应的url,然后把脚本读出来,用DBUtil(一个封装了jdbc的class)一条条执行就OK了,不过原理简单,做起来还是好考虑一些东西的。
      

  2.   

       请问:你的sql脚本是怎样整理在文件里的,是逐个用户的导出的吗
      

  3.   

    用DBCA导出创建数据库实例的脚本,修改导出的bat脚本,增加运行表脚本、函数、过程等脚本最后运行那个bat脚本就可以了
      

  4.   


    我们是做应用的,做表设计的时候就产生了ER图,根据ER生成对应的见表的sql,不过还有一些sql脚本比如trigger,procedure, package, function, sequence是我们在设计时自己手工写出来的,以后也会一直维护,这些都是数据库的模型和实体,一般应用都会有一些初始数据,也是在开发阶段,开发定义出来的,
    在开发结束后,我们有专门的测试人员对应用进行测试,在应用稳定了以后,会测试安装包程序。我们以前也有过把脚本从库里导出的想法,不过觉得这样随意性比较大,而且我们都是模块话的开发,这样做并不能简化我们的工作量,所以最后还是规规矩矩的做好自己的sql脚本,需要建库的时候,就通过我们测试好的脚本跑一下就可以了。
      

  5.   


      你看我理解的对不对:
      你们做的sql脚本就像
      create table … 
      create table … 
        .
       .
       .
       放到一个 .txt文件,到时候执行就可以了,是吧
      

  6.   

    是的,基本上是这样的,不过我们以前做erp的,应用的模块很多,所以安装做的麻烦一些 我们都是把create的脚步以及insert into的脚步按模块分散到不同的sql文件里,模块话,而且专门有一个registry module的配置文件,把所有的模块的相关包,脚步都注册进去,安装的时候根据提供给用户的license文件(其实通过加密的一个file,file里是用户购买的module号,和用户数,公司名称等信息)去找对于的sql并执行。
    ==================================================================
    Inthirties关注Oracle数据库 维护 优化,安全,备份,恢复,迁移,故障处理如果你需要帮助或想和我一起学习的请联系
    联系方式QQ:370140387
    电子邮件:[email protected]
    网站: http://www.inthirties.com
      

  7.   

    EXP /IMP 简单快捷.