View Full Version : ریستور کردن بانک SQL در دلفی
  
shh17288
شنبه 27 آذر 1389, 14:12 عصر
چند هفته پیش سوالم را پرسیدم اما جوابی نگرفتم . برای ریستور کردن بانک SQl در زبان دلفی به مشکل برخوردم . کدهائی که از این سایت برداشتم هم کمکی نکرد یا سیستم هنگ میکنه یا پیغام میده بانک در حال استفاده است . پروژه ای هم که دارم خیلی فوریه . لطفا ً جوابم را بدهید .:ناراحت::افسرده::متفکر:
pezhvakco
شنبه 27 آذر 1389, 14:30 عصر
بهتره پرسشتون رو کامل این جا بنویسن : روش کارتون و کد دستورهایی برای این کار می نویسین ...
چند هفته پیش کجا و چی پرسیدین ؟
xboycooper
شنبه 27 آذر 1389, 19:54 عصر
یدونه ADOCommand و یک OpenDialog بذارید روی فرم و کد زیر رو توی یک دکمه بذارید . 
mydb هم اسم دیتابیس شماست .
if (openDialog1.Execute) then
ADOCommand1.CommandText:='use master RESTORE DATABASE mydb FROM DISK='+QuotedStr (OpenDialog1.FileName);
shh17288
یک شنبه 28 آذر 1389, 11:15 صبح
با تشکر از راهنما  ئیتون اما عملاً کار نمی کنه یعنی وقتی بک آپ تهیه شد با این کد ریستور بر نمی گرده وقتی توی SQl  میریم داده ها رو بر نگردونده . اگه کد دیگری دارید ممنون میشم بهم بدین یا باز راهنمائیم کنید
shh17288
یک شنبه 28 آذر 1389, 11:24 صبح
این 1 کد که جدید گرفتم 
 if (openDialog1.Execute) then
ADOCommand1.CommandText:='use master RESTORE DATABASE elamie FROM DISK='+QuotedStr (OpenDialog1.FileName);
این 2 
try
if openDialog1.Execute then
ADOConnection1.Execute('restore database elamie from disk='''+openDialog1.FileName+'''');
except
MessageDlg('ÔÊíÈÇä Êåíå ÔÏ',mtError,[mbOK],0);  }
این 3 
adoconnection1.KeepConnection:=false;
// adoconnection1.Close;
// adoconnection1.Free;
{ If OpenDialog1.Execute Then
 begin
   ADOCommand1.Connection:=ADOConnection1;
   with ADOCommand1 do
      begin
         CommandText:='RESTORE DATABASE elamie FROM DISK='''+openDialog1.FileName+'''with replace';
         execute
      end;
   ShowMessage('Restored');
این 4 
adoconnection1.Close;
adoconnection1.KeepConnection:=false;
 try
if openDialog1.Execute then
ADOConnection1.Execute('restore database elamie from disk='''+openDialog1.FileName+'''with replace');
except
MessageDlg('ÝÇíá ÈÇÒíÇÈí äÔÏ',mtError,[mbOK],0);
این 5 
var
  s:string;
begin
ADOConnection1.KeepConnection:=false;
s:=ExtractFilePath( Application.ExeName );;
s:=s+'elamie';
dm.ADOQuery1.sql.text:='restore database elamie from disk='+Quotedstr (s);
dm.adoquery1.execsql;
{ with ADOCommand1 do
    begin
       CommandText:='restore table elamie from disk='+QuotedStr (s);
       execute
    end;     }
{ShowMessage('ÝÇíá ÈÇÒíÇÈí ÔÏ');
ADOConnection1.KeepConnection:=true;}
کد 1 رو که جدید گرفتم سیستم هنگ نمی کنه و پیغام هم نمی ده اما در sQL  که بانک رو نگاه می کنی داده ها بر نگشته 
 
اما کد های دیگه یا سیستم هنگ میکنه یا پیغام میده که بانک در حال استفاده است .
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.