hamidprogramer
پنج شنبه 27 تیر 1387, 21:15 عصر
با عرض سلام؛
من براي بازيابي نسخه پشتيبان در بانك Sql يك SP درون Sql نوشتم و بدون مشكل ازآن در محيط Sql استفاده مي كنم .
اما زماني كه مي خواهم از درون برنامه اون Sp رو اجرا كنم با خطايي مبني بر در حال استفاده بودن بانك برنامه مواجه مي شوم .
من به صورت زير ارتباط برنامه رو قبل از انجام عمليات بازيابي قطع مي كنم:
DM.Academy.Connected := False;
DM.Academy.KeepConnection := False;
DM.Academy.Close;
متن Sp هم در Sql به صورت زير مي باشد:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER Procedure [dbo].[Opr_RestoreDatabase]
(
@DataBaseName nvarchar(255),
@Address nvarchar(255),
@Password nvarchar(20)
)
As
Begin
if Exists (Select name from sys.databases Where name = @DataBaseName)
BEgin
Restore Database @DataBaseName from disk = @Address
With
Restricted_User,
Password = @Password
end
Else Return -1
End
ممنون مي شم اگر من رو در اين مورد راهنمايي كنين.
من براي بازيابي نسخه پشتيبان در بانك Sql يك SP درون Sql نوشتم و بدون مشكل ازآن در محيط Sql استفاده مي كنم .
اما زماني كه مي خواهم از درون برنامه اون Sp رو اجرا كنم با خطايي مبني بر در حال استفاده بودن بانك برنامه مواجه مي شوم .
من به صورت زير ارتباط برنامه رو قبل از انجام عمليات بازيابي قطع مي كنم:
DM.Academy.Connected := False;
DM.Academy.KeepConnection := False;
DM.Academy.Close;
متن Sp هم در Sql به صورت زير مي باشد:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER Procedure [dbo].[Opr_RestoreDatabase]
(
@DataBaseName nvarchar(255),
@Address nvarchar(255),
@Password nvarchar(20)
)
As
Begin
if Exists (Select name from sys.databases Where name = @DataBaseName)
BEgin
Restore Database @DataBaseName from disk = @Address
With
Restricted_User,
Password = @Password
end
Else Return -1
End
ممنون مي شم اگر من رو در اين مورد راهنمايي كنين.