CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  数据库

各位大哥,怎么用VC实现对数据库的备份及恢复

楼主joiny2000()2002-04-26 16:21:38 在 VC/MFC / 数据库 提问

怎么用VC实现对数据库的备份及恢复?主要是对表空间,不是整个数据库。最好有源代码!   先谢谢了。  
  我的EMAIL     joiny123@163.com 问题点数:50、回复次数:13Top

1 楼joshua0137(joshua)回复于 2002-04-26 16:39:40 得分 0

你是用SQL   SERVER   吗?Top

2 楼dyw(旺仔)回复于 2002-04-26 20:02:50 得分 5

在数据库中先布置好的你的“对数据库的备份及恢复”的存储过程,在你的VC应用中调用它吧!否则真的得请教你所用的数据库了。Top

3 楼joiny2000()回复于 2002-04-26 21:35:45 得分 0

先谢过各位大哥了:  
        我用的是SQLSERVER,可我对存储过程不是很熟的。还有能给我一个具体的例子吗?有源代码最好!  
        旺仔兄:   你的意思是不是在存储过程中写备份和恢复?比如说备份的话写:create   proc   pro_backup    
      as    
          backup   database   databasename   to   "绝对路径名"  
  再在控制体中用VC编程调用存储过程(pro_backup)  
          但是我听说还要先连接数据库,还要该执行体执行结果.其中的过程我不是很清楚,能给我回复吗?  
  Top

4 楼joiny2000()回复于 2002-04-26 21:35:57 得分 0

先谢过各位大哥了:  
        我用的是SQLSERVER,可我对存储过程不是很熟的。还有能给我一个具体的例子吗?有源代码最好!  
        旺仔兄:   你的意思是不是在存储过程中写备份和恢复?比如说备份的话写:create   proc   pro_backup    
      as    
          backup   database   databasename   to   "绝对路径名"  
  再在控制体中用VC编程调用存储过程(pro_backup)  
          但是我听说还要先连接数据库,还要该执行体执行结果.其中的过程我不是很清楚,能给我回复吗?  
  Top

5 楼despird(砉箟)回复于 2002-04-26 21:55:55 得分 5

用SQL   server的备份或是DTS。  
  如果是备份,就用BACKUP做SQL,然后做成带参数的BAT用程序调用就行了。详见isql   -?,就一句话的事。  
  如果dts,生成一个DTS包,然后也做BAT,详见dtsrun   -?,BAT里也就一句话。  
  Top

6 楼small_wei(small)回复于 2002-04-26 23:15:09 得分 40

备份:  
                    CDatabase   db;  
  CString   s1;  
  s1.Format("ODBC;UID=sa;PWD=%s","wei147");  
  db.Open("odbcname",false,false,s1);  
  s1.Format("backup   database   report   to   disk='e:\\report.bak\\backs.dat'");   //备份到E:\report.bak\backs.dat  
  db.ExecuteSQL(s1);  
  恢复:  
                    恢复时用户不能打开要恢复的数据库  
  CDatabase   db1;  
                    s1.Format("ODBC;UID=sa;PWD=%s","wei147");  
  db1.Open("odbcname",false,false,s1);  
  s1.Format("restore   database   report   from     disk='c:\\report.bak\\backs.dat'");  
  db1.ExecuteSQL(s1);  
  db1.Close();  
  Top

7 楼joiny2000()回复于 2002-04-27 09:39:33 得分 0

small_wei(small)兄:  
        我用了你这种方法,但是还不行啊!是不是我水平真的太菜了?   我用的是ADO。   因为我的程序一执行就连接到数据库的,所以我只在备份事件中写了一句执行SQL语句。   能不能再指点一二?Top

8 楼small_wei(small)回复于 2002-04-27 18:39:43 得分 0

道理是一样的在ADO中直接执行SQL语句  
  backup   database   report   to   disk='e:\\report.bak\\backs.dat'  
  restore   database   report   from     disk='c:\\report.bak\\backs.dat'  
  既可.Top

9 楼joiny2000()回复于 2002-04-28 09:04:06 得分 0

谢谢small_wei(small)兄的热情帮忙,一定给分。   不过我还有一个问题,   我要把一张表的数据导出来和导进数据库。不知如何编程实现?Top

10 楼small_wei(small)回复于 2002-04-28 18:12:54 得分 0

是在同一数据库中?  
  如果是在不同的数据库中,特别是不同类型的数据库时,可以用DTS事先定义好数据库的导入导出,具体的可以在sql   server帮助中找到,然后在VC中调用.Top

11 楼joiny2000()回复于 2002-04-29 12:24:38 得分 0

我只要把表中的数据导出为文本文件(txt),因为这张表的数据量比较大,需要定期导出,但是要查询这些数据时,又要全部导入。   这有点相当于数据库的增量备份。老大,怎么做?  
  我试过以下代码,但是没有导出数据。  
  sCmd   =   "bcp   CDS.dbo."   +   tableName   +   "   out   "   +   tablePath   +   "   -c   -SSERVER   -U   distributor   -P   distributor";                  
                  WinExec(sCmd,SW_HIDE);  
  不知哪里有问题?  
  多谢small_wei(small)的回复!好人做到底,帮小弟一把!  
   
  Top

12 楼small_wei(small)回复于 2002-04-30 00:35:08 得分 0

在sql   server的企业管理器中的注册服务器中,找到数据转换服务项,在本地包中建立一个数据转换新包,这个包可以设定任何时间运行,实现定期将数据导出.然后再建立一个包,做数据的导入,用DTSRUN运行,具体操作与相关信息可在MSDN中输入DTS进行查询.  
  对于BCP可参阅:  
  For   example,   the   Northwind   database   has   the   table   Jane's   Orders,   which   is   owned   by   user   Jane   Doe.   To   bulk   copy   this   table   from   the   Northwind   database   to   the   Orders.txt   file   using   the   login   Jane   Doe   and   the   password   go   dba,   execute   one   of   these   commands:  
   
  bcp   "Northwind.Jane   Doe.Jane's   Orders"   out   "Jane's   Orders.txt"   -c   -q   -U"Jane   Doe"   -P"go   dba"  
   
  Top

13 楼joiny2000()回复于 2002-04-30 08:32:51 得分 0

谢谢small_wei(small)的帮忙。   这个问题我已解决了。  
  结贴了!Top

相关问题

  • 用vc进行数据库备份?
  • 数据库备份?
  • 数据库备份
  • 数据库备份?
  • 数据库备份???
  • 备份数据库
  • 数据库备份
  • 数据库备份
  • 数据库备份
  • 请问在VC中如何备份和回复数据库?

关键词

  • 数据库
  • 存储过程
  • 数据
  • 执行
  • 源代码
  • report
  • vc
  • database
  • 备份
  • 导出

得分解答快速导航

  • 帖主:joiny2000
  • dyw
  • despird
  • small_wei

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo