打包数据库到安装程序中方法1. 备份/恢复
先备份数据库:
backup database 数据库 to disk='c:\备份.bak'将备份文件打包到安装程序中.在第一次运行程序的时候,进行数据库恢复(或专门做一个系统配置的程序,来控制完成此工作)
restore database 数据库 from disk='c:\备份.bak'
方法2. 分离/附加先分离数据库:
sp_detach_db '数据库名'将数据文件(.mdf)和日志文件(.ldf)打包到安装程序中在第一次运行程序的时候,进行数据库附加(或专门做一个系统配置的程序,来控制完成此工作)
sp_attach_db '数据库名','数据文件名(.mdf)','日志文件名(.ldf)'
方法3. 用数据库脚本生成数据库脚本:
sql200企业管理器
  --右键要导出的数据库
  --所有任务
  --生成SQL脚本
  --<常规>里选择"生成全部对象脚本"","在脚本文件中包含说明性标题"选上
  --<设置格式>里,将"包含扩展属性",选上
  --<选项>中,将"表脚本选项"中的内容全部选择上
  --<选项>中,"安全性选项"是决定是否要包含创建数据库及用户权限等的设置,根据你的需要选择
  --其他所有的选项保持默认值
  --然后确定,将其保存成一个.sql文件生成数据脚本(借用第三方工具):
SQL  Server  数据库SQL脚本导出器1.0
(1)      支持所有数据类型(如binary,text,image)
(2)      支持表结构、索引、所有记录到SQL脚本
(3)      支持数据库、表的浏览
(4)      SQL语句的编辑、执行
(5)      可备份数据库、表结构、记录将脚本文件打包到安装程序中.在第一次运行程序的时候,执行脚本(或专门做一个系统配置的程序,来控制完成此工作),通过调用isql.exe文件完成.
exec master..xp_cmdshell 'isql /E /i".sql文件"'
也可以直接在程序中调用isql.exe文件.或直接将isql.exe文件集成到程序安装包中

解决方案 »

  1.   

    我这里用 Installsheid 做安装程序,也没发现这功能。
      

  2.   

    自己写程序实现zjcxc(邹建)说的功能
      

  3.   

    我觉得不是对用户不方便.而是方便用户.用户不一定要在本机安装SQL,他可能将SQL安装在服务器上.或其他电脑.
    数据库名,为了方便管理,用户也希望能自己定义.这样,就对你的程序的如果连接数据库提出了要求.不要配置程序,你的程序在分发的时候就比较麻烦.
      

  4.   

    再顶一下。
    程序是vc写的,install sheild安装。
    怎么把生成表的语句集成到install shild中?
      

  5.   

    怎么把生成表的语句集成到install shild中?
    -----------------------------------------
    一般来讲一个系统中数据库只安装一次,应用程序安装多台,所以还是将数据库和应用程序的安装程序分开好。
    你安装应用程序时一定要安装数据库吗?
      

  6.   

    我们的数据库就是安装在程序运行的机器上的。所以程序运行的前提就是本机上必须安装有SQL Server数据库。如何在安装的时候就检测到是否安装有SQL Server呢?(Install Shield)
      

  7.   

    生成SQL文件,然后用OSQL,ISQLset @sql = 'osql -Usa -P密码 -S服务器名 -d' + @databasename  + ' -ic:\1.sql'
    exec master..xp_cmdshell @sql