PDA

View Full Version : مشکل در Restore کردن دیتابیس در زمان اجرا



Hafez
یک شنبه 03 آبان 1388, 18:17 عصر
با سلام

من از کد زیر برای Restore کردن دیتابیس استفاده می کنم ( توضیح اینکه دیتابیس توسط ADO Connection در خود برنامه مورد استفاده قرار میگیره ) اما بعد از اجرا یک پیام ظاهر میشه مبنی بر اینکه بانک در حال اجرا است .
با این توضیح که قبل از اجرای کد مربوط به Restore ارتباط Adoconnection با دیتابیس رو قطع می کنم .

ADOConnection1.Close;

if OpenDialog1.Execute then
begin
str:=OpenDialog1.FileName;
with ADOCommand2 do
begin

CommandText:='EXEC sp_dboption "phonebook", "single user", "true" RESTORE DATABASE phonebook FROM DISK ='+QuotedStr(str)+ 'WITH REPLACE , NOUNLOAD , STATS = 10, RECOVERY';
execute
end;

همین کد و وقتی برنامه در حال اجرا نیست اجرا کردم کاملا درست اجام شد . اما نمی خوام جدا از برنامه این کار انجام بشه .

ممنون میشم اگه راهنمایی کنید که چکار کنم .

vcldeveloper
یک شنبه 03 آبان 1388, 22:48 عصر
سلام،

اگر جستجو می کردید، قبلا جواب داده شده بود؛ شما نمی تونید دیتابیسی که در حال حاضر به آن وصل هستید را Restore کنید، بلکه برای Restore کردن یک دیتابیس باید به یک دیتابیس دیگه مثل Master متصل بشید، و سپس دیتابیس مورد نظرتان را Restore کنید.

به دلیل تکراری بودن سوال، تاپیک قفل شد.