请问,如何把sql的数据打包到程序中?或者说在目标机上安装了sqlserver2000,如何让程序直接能够把从sql备份的数据自动导入到需要的位置?另外目标机的电脑名是否会对数据的访问造成影响?已经用installshild成功打包vc程序。谢谢。

解决方案 »

  1.   

    小程序建议用 Access MDB 数据库。
      

  2.   

    连接的时候,计算机名不一样会造成连接的问题。
    把MDF和LDF文件复制到目标计算机,然后执行附加数据库操作。----这是最好的办法。
      

  3.   

    http://topic.csdn.net/t/20040812/14/3267522.html
      

  4.   

    目标机的电脑名是否会对数据的访问造成影响 
    --- 绝对会造成影响,所以解决的方法有二个:
    1.告知客户,我的程序一定要使用192.168.0.1这个IP的(或DBSERVER这个机器名的),但这样太不好了,人家的网络可能不是这个网段的.还有人家的电脑可能已经有一个机器名,还安装了其它的数据库,你要求人家一定要取这个名,就给人第一感觉:不专业.所以第一种方法PASS.2.在程序的开始部分对程序目录中的一个DBSERVER.INI文件进行读取,发现还没有设置数据库连接信息的,就弹出一个窗口,这个窗口记用户设置以下内容:
    服务器IP
    数据库实例名:如果有的话,有的不是(LOCAL)的,就要加这个实例名.
    数据库用户名:对于MSSQL可以默认使用SA
    数据库密码:这个一定要加密(对方输入的时候是明文,你要加密后保存,下次从INI文件里读取并解密后就是明文密码了)这样就很灵活了.根本不用考虑对方的IP和机器名.对于数据库的恢复,我们一般建议直接帮客户安装(通过DW,QQ之类的远程控制),或者写入文档,要求对方的技术人员安装,如果你的是面向大众的,那就比较麻烦了.你必须全部用代码完成,不过也不难,主要有以下二种:
    1.全部用代码生成,主要是将SQL语句整合到VC中,就是先CREATE DATABASE ...,然后CREATE TABLE...,这样有个不好的地方,就是基础表无法一一导入,很麻烦.2.直接用语句恢复数据库.这个文件比较简单.
    (1)写一个安装小程序,一开始弹出一个小窗口,要求用户输入已安装的MSSQL服务器的IP,帐号及密码,然后程序连接到MASTER数据库.就可以开始进行下一步操作了.
    (2)在窗口中加一个浏览数据库文件按钮,让用户选择你的那二个数据库文件,也可以将数据库文件放在本地目录,你自己直接读取,这样可以免除用户选择的麻烦,不过用户要输入本数据库恢复到哪个目录,这个一定要用户来指定比较好.以免自动恢复到C盘不安全.
    (3)使用RESTORE命令恢复,当然,这个要在VC里使用ADO的Command为完成:
        --恢复数据库(DB.BAK是你对数据库一个完全备份.)
        restore database dbname from disk='c:\db.bak' with recovery
       当然,你也可以使用附加数据库的方法:
       EXEC sp_attach_single_file_db @dbname = '你的数据库名',@physname = 'c:\你的数据库文件所在目录\xxx.mdf'这些都在ADO中完成即可.难道不大,就是比较烦一点.