View Full Version : مبتدی: مشکل در Dynamic query
سمانه علوی فر
یک شنبه 07 آذر 1389, 15:36 عصر
خواهش می کنم راهنمایی کنید مشکل این کد کجاست؟؟
ALTER procedure [dbo].[temp4]
@DbSrcName nvarchar(max),
@DbDisName nvarchar(max),
@DbPath nvarchar(max)
AS
Declare @Str varchar(500)
EXEC( 'BACKUP DATABASE ' + @DbSrcName + ' TO DISK = '''+ @DbPath + @DbSrcName + '.bak''
WITH NOFORMAT, INIT, NAME = ' + @DbSrcName + ', SKIP, NOREWIND, NOUNLOAD, STATS = 10, CHECKSUM
')
چرا اجرا نمی شه؟؟
سمانه علوی فر
یک شنبه 07 آذر 1389, 15:40 عصر
وقتی که اجراش میکنم
DECLARE @return_value int
EXEC @return_value = [dbo].[temp4]
@DbSrcName = N'acc',
@DbDisName = N'accful',
@DbPath = N'c:\'
SELECT 'Return Value' = @return_value
GO
این ایراد رو میگیره :
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near 'acc'.
حمیدرضاصادقیان
یک شنبه 07 آذر 1389, 15:48 عصر
سلام.
Procedure رو به این شکل تغییر بدید.
ALTER procedure [dbo].[temp4]
@DbSrcName nvarchar(200),
@DbDisName nvarchar(200),
@DbPath nvarchar(500)
AS
DEClare @str nvarchar(1000)
set @str='BACKUP DATABASE ' + @DbSrcName + ' TO DISK = '''+ @DbPath + @DbSrcName + '.bak''
WITH NOFORMAT, INIT, NAME = ''' + @DbSrcName + ''', SKIP, NOREWIND, NOUNLOAD, STATS = 10, CHECKSUM'
exec (@str)
سمانه علوی فر
دوشنبه 08 آذر 1389, 09:58 صبح
حالا اگه دو یا جند تا از این نوع spها داشته باشم چه جوری می تونم ببرمش تو یه sp
داستان اینه که می می خوام یه دیتا بیس خالی بسازم و و از یه دیتا بیس بک آپ بگیرم و در این دیتا بیس جدید ریستور کنم
میشه بگین چه جوری این کاری انجام بدم
و میشه راهنمایی کنید که از کجا می تونم بیشتر اطلاعات کسب کنم؟؟
خواهش می کنم!
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.