PDA

View Full Version : سوال: stored proceuder Backup



venus2000
دوشنبه 17 تیر 1387, 12:27 عصر
ترا به خدا کمکم کنید !
به یک stored proceuder Backup نیاز دارم که این رو داخل برنامه ام اگر بزارم بدون اینکه من پارامتری بهش ارسال کنم عمل پشتیبان گیری از بانکم رو انجام بده؟
ترا خدا کمکم کنید...اگه تحویل ندم استادم بدبختم می کنه:گریه:
اگه میشه یه نمونه پروژه کوچیک با سی شارپ هم ارسال کنین که کارکردش رو ببینم:لبخندساده:

ASKaffash
دوشنبه 17 تیر 1387, 15:56 عصر
سلام
چرا بدون پارمتر؟


ALTER Proc [dbo].[BacKUpMIS]
@DBDrv VarChar(500),
@DBStr VarChar(100)
As
Declare @DBPath VarChar(1000),@DBBack VarChar(150)
Set @DBPath=@DBDrv+@DBStr+'_BackUp.Bak'
Set @DBBack=@DBStr+'_BackUp'
ExEc sp_addumpdevice 'disk',@DBBack,@DBPath
ExEc('BackUp DataBase '+@DBStr+' To '+@DBStr+'_BackUp')

واین هم تابعی که در C# بتوانی آن را اجرا کنی


public static void RunSQL(string CommandString, string ConnectionString)
{
SqlConnection TmpSqlConnection = new SqlConnection(ConnectionString);
SqlCommand TmpSqlCommand = new SqlCommand(CommandString, TmpSqlConnection);
TmpSqlCommand.CommandType = CommandType.Text;
TmpSqlConnection.Open();
TmpSqlCommand.ExecuteNonQuery();
TmpSqlConnection.Close();
}

yasercomeng
سه شنبه 18 تیر 1387, 02:36 صبح
اين commandstring اي كه پاس ميدي به تابع چيه؟
من فقط تو همينش مشكل دارم.

venus2000
چهارشنبه 19 تیر 1387, 23:56 عصر
سلام
چرا بدون پارمتر؟


ALTERProc [dbo].[BacKUpMIS]
@DBDrv VarChar(500),
@DBStr VarChar(100)
As
Declare @DBPath VarChar(1000),@DBBack VarChar(150)
Set @DBPath=@DBDrv+@DBStr+'_BackUp.Bak'
Set @DBBack=@DBStr+'_BackUp'
ExEcsp_addumpdevice'disk',@DBBack,@DBPath
ExEc('BackUp DataBase '+@DBStr+' To '+@DBStr+'_BackUp')

واین هم تابعی که در C# بتوانی آن را اجرا کنی


publicstaticvoid RunSQL(string CommandString, string ConnectionString)
{
SqlConnection TmpSqlConnection = newSqlConnection(ConnectionString);
SqlCommand TmpSqlCommand = newSqlCommand(CommandString, TmpSqlConnection);
TmpSqlCommand.CommandType = CommandType.Text;
TmpSqlConnection.Open();
TmpSqlCommand.ExecuteNonQuery();
TmpSqlConnection.Close();
}

منظورم از بدون پارامتر اینکه مثلا خودش تنظیم باشه که هر روز بک اپ بگیره و در درایو سی کامپیوتر ذخیره کنه.
کد اس کیو ال که در بالا نوشتید رو چطوری و کجا ایجاد کنم ؟
کد سی شارپ رو در کد کلیک یک باتم باید بنویسم؟
لطفا توضیحات بیشتری بدید.

venus2000
پنج شنبه 20 تیر 1387, 00:00 صبح
منظورم از بدون پارامتر اینکه مثلا خودش تنظیم باشه که هر روز backup بگیره و در درایو C کامپیوتر ذخیره کنه.
کد اس کیو ال که در بالا نوشتید رو چطوری و کجا ایجاد کنم ؟
کد سی شارپ رو در کد کلیک یک باتم باید بنویسم؟
لطفا توضیحات بیشتری بدید.

VisualStudio
پنج شنبه 20 تیر 1387, 16:35 عصر
منظورم از بدون پارامتر اینکه مثلا خودش تنظیم باشه که هر روز backup بگیره و در درایو C کامپیوتر ذخیره کنه.
کد اس کیو ال که در بالا نوشتید رو چطوری و کجا ایجاد کنم ؟
کد سی شارپ رو در کد کلیک یک باتم باید بنویسم؟
لطفا توضیحات بیشتری بدید.

موقعی که به دیتابیس متصل شدی تو Server explorer روی Stored Procedure راست کلیک کن و Add New Stored Procedure را بزن و تو اون بونویس
خوب این کار را تو خود C# انجام بده
این commandstring چی هست ؟

venus2000
پنج شنبه 20 تیر 1387, 22:44 عصر
کد سی شارپی که نوشتید رو باید در رویداد کلیک یک button
باید بنویسم؟
از SqlConnection و ConnectionStringو SqlCommand ایراد میگیره

yasercomeng
شنبه 22 تیر 1387, 03:23 صبح
منظورم از CommandString اون پارامتر ورودي است كه آقاي ASKaffish به تابع فرستاده.اون چيه؟
يعني چه دستوري قراره اجرا بشه؟
بيشتر به خاطر طريقه پاس دادن متغير ها به يه SP ميخوام بدونم اون چيه؟

اين پست رو ببيني مشكلمو راحت تر مي فهمي: http://barnamenevis.org/forum/showthread.php?t=112789

ASKaffash
شنبه 22 تیر 1387, 09:35 صبح
سلام
CommandSting همان نام SP بنام BacKUpMIS به همراه پارمترهای آن که شامل نام درایو و نام بانک است که توسط متد RunSQL درون C# قرار است اجرا گردد.
در ضمن اگر میخواهید بطور اتوماتیک Backup تهیه کنید باید از Backup خود SQL استفاده کنید این روش از طریق برنامه است.

yasercomeng
یک شنبه 23 تیر 1387, 02:35 صبح
اگه مي شه دقيقا كد مربوط به CommandString رو بنويسيد من منظورتون رو از اينكه گفتين پارامتر هاي آن شامل نام بانك و نام درايو باشند رو نفهميدم.
و يه سوال ديگه هم اينكه اين دستور RunSql چيه؟
كد يادتون نره.متشكر.