V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding.NET 轻量级社交
开源项目广场
使用帮助
意见反馈
cankoor
V2EX  ›  Coding

如何把数据库一起打包成安装程序

  •  
  •   cankoor · 2017-03-12 14:39:29 +08:00 · 4274 次点击
    这是一个创建于 2807 天前的主题,其中的信息可能已经有所发展或是发生改变。

    打算写一个应用程序,本地使用,有一个自动安装包。因为是 C/S 架构的,所以里面包含了一个服务端。而服务端依赖数据库和脚本服务器,安装的电脑上可能没有安装数据库,那么有没有方法将数据库一起打包成自动安装包?

    9 条回复    2017-03-12 18:51:13 +08:00
    loading
        1
    loading  
       2017-03-12 14:45:03 +08:00 via Android
    使用 slqite 这一类数据库。
    Syc
        2
    Syc  
       2017-03-12 15:02:00 +08:00 via Android
    静默安装数据库程序,安装好单独写一个脚本程序创建数据库等
    a87150
        3
    a87150  
       2017-03-12 15:10:25 +08:00
    sqlite
    visonme
        4
    visonme  
       2017-03-12 15:49:04 +08:00
    用过 mysql ,以此为例,直接将 mysql 打包到安装程序,安装在程序下独立文件夹,然后需要制作一个脚本文件,每次启动程序时候需要同步启动这个脚本文件,脚本文件的作用就是启动 mysql 服务。

    脚本文件除了控制 mysql ,类似 tomcat 等服务器也是可以通过脚本启动的。不用脚本的方式就是直接程序控制启动,这类做法就是比较好跟踪数据库和服务器的服务是否启动。

    还有钟就是安装时候同时安装数据库并写入系统服务(自启动),这种做法很多场景下不推荐。
    qiayue
        5
    qiayue  
       2017-03-12 16:01:53 +08:00
    假如用户电脑已经安装了 MySQL 一般怎么处理
    tomczhen
        6
    tomczhen  
       2017-03-12 16:59:33 +08:00 via iPhone
    可以, sqlserver 支持命令安装,通过加载安装配置文件可以做到自动安装。
    要注意的是最新的 express 版本二次分发是需要授权的,要向巨硬申请,至于其他收费版本,如果你提供安装造成客户侵权被调查也会脱不了关系。

    一般厂家都是选择集成分发 msde2000 ,因为这个版本的二次分发协议不需要专门去申请。

    其他开源数据库的话,这种问题根本就不是问题,不过最好也仔细看下协议要求以免侵权-特别是甲骨文的产品。
    tomczhen
        7
    tomczhen  
       2017-03-12 17:00:44 +08:00 via iPhone
    忘记说了,如果你的客户是使用数字或者金山之流还是放弃集成到一起比较好。
    xuqd
        8
    xuqd  
       2017-03-12 18:30:51 +08:00
    h2 db
    murmur
        9
    murmur  
       2017-03-12 18:51:13 +08:00
    mysql 什么的应该有解压版的吧,安装程序里配好环境变量(有么)?加上自启动,执行段代码自动把 sql 导进去就完了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2954 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 12:30 · PVG 20:30 · LAX 04:30 · JFK 07:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.