雨路IT
当前位置:首页 » it资讯

急~~如何通过程序在客户端备份还原服务器上的数据库?(在线等。。。)

八月 23rd, 2007 by admin



我用pb做的客户端,sql   server为服务器,做了毕业设计,现在就差数据库的备份和还原了,请问如何才能在客户端备份还原服务器上的数据库呢?  
   
  明天就要演示了,绝对急~~

参考文章:

  • 百城万店客盈门划掀起都市手机短信新消费
  • 记--熊猫客服
  • Twofish加密算法详解
  • International CueClub主程序脱壳
  • Obsidium V1.25加壳VB程序的脱壳——超级自动注册申请王
  • 上海卡通总动员落幕 热浪不阻漫友热情
  • 关于N6108的几点遗憾
  • 用Ollydbg手脱Petite V2.2加壳的DLL
  • arm4.1主程序Patch分析
  • EncryptPE V2.2004.7.27脱壳
  • 网友回答:
    发表者:waterstony

    我这里有一个例子,你仔细看看  
       
      如何在客户端,通过pb程序备份sql   server2000的数据库  
      string   sql;  
      string   path,   file;  
      int   flag   =   0  
      file   =   sle_1.text  
      //备份数据库,sql   anywhere   格式  
      //sql   =   "backup   database   directory   "+path+"   transaction   log   rename"    
      //sql   =   "backup   database   db   to   disk   =     "+file+"   with   init,   stats,   name   =   full   backup   of   shipping"  
       
      st_note.text   =   正在备份数据库,请稍等...  
      sql   =   exec+(+"use   master"+)  
      execute   immediate   :sql   ;  
      if   sqlca.sqlcode   <>   0   then  
      messagebox(use   master,sqlca.sqlerrtext);  
      end   if  
       
      sqlca.autocommit   =   true  
       
      sql   =   "exec   sp_addumpdevice     disk"+"   ,   bk   ,   "+"   "+file+""  
      execute   immediate   :   sql   ;  
      if   sqlca.sqlcode   <>   0   then  
      messagebox(sp_addumpdevice,sqlca.sqlerrtext);  
      end   if  
       
      sql   =backup   database   db   to   bk  
      execute   immediate   :   sql   ;  
      if   sqlca.sqlcode   <>   0   then  
      messagebox(backup,sqlca.sqlerrtext);  
      flag   =   1  
      end   if  
       
      sql   =   "exec   sp_dropdevice   db"  
      execute   immediate   :   sql   ;  
      if   sqlca.sqlcode   <>   0   then  
      messagebox(sp_dropdevice,sqlca.sqlerrtext);  
      end   if  
       
      sqlca.autocommit   =   false  
       
      sql   =   exec+(+"use   db"+)  
      execute   immediate   :sql   ;  
      if   sqlca.sqlcode   <>   0   then  
      messagebox(use   shipping,sqlca.sqlerrtext);  
      end   if  
      st_note.text   =    
      if   flag   =   0   then  
      messagebox(数据库备份完毕,保存在服务器文件:+file)  
      else  
      messagebox(数据库备份失败,文件路径不存在或不可访问:+file)  
      end   if  
       
       
       
      恢复备份:  
      //disconnect   database  
      disconnect   using   sqlca;  
       
      //connect   master   database  
      sqlca.dbms               =   profilestring   (gs_currentdir+\*.ini,   "database",   "dbms",               "")  
      sqlca.database       =   "master"  
      _dbname                     =   profilestring   (gs_currentdir+\*.ini,   "database",   "database",       "")  
      sqlca.servername   =   profilestring   (gs_currentdir+\*.ini,   "database",   "servername",   "")  
      sqlca.logid             =   profilestring   (gs_currentdir+\*.ini,   "database",   "logid",             "")  
      sqlca.autocommit   =   true  
      sqlca.dbparm           =   ""  
      connect   using   sqlca;  
       
      //   profile   zh_jxc  
      _buildsql   =restore   database   +_dbname+   from   disk=   "+路径+文件名+";  
      execute   immediate   :_buildsql;  
      if   sqlca.sqlcode     =   0   then  
      messagebox(提示信息,恢复数据库完毕!)  
      else  
      if   sqlca.sqlcode=-1   then  
      messagebox()  
      halt   close  
      end   if  
      end   if  
     

    发表者:joss

    查找faq贴子!

    发表者:fengzeng

    http://expert.csdn.net/expert/topic/1802/1802553.xml?temp=.9618341

    发表者:joygxd

    sql_server.autocommit=true  
       
      sql="exec   master..sp_addumpdevice   disk,joyback,d:\temp.bak"  
      execute   immediate   :sql;  
      if   sql_server.sqlcode<>0   then  
      messagebox("add   device   failure",sql_server.sqlerrtext)  
      end   if  
       
      sql="backup   database   "+sql_server.database+"   to   joyback   "  
       
      if   sql_server.sqlcode<>0   then  
      messagebox("backup   failure",sql_server.sqlerrtext)  
      end   if  
       
      sql="exec   sp_dropdevice   joyback   "  
      execute   immediate   :sql;  
       
      sql_server.autocommit=false  
       
      我的怎么备份不了?

    .

    Posted in noname. Edit

    发表评论