PDA

View Full Version : مشکل در اجرای کد سرویس



Collector
سه شنبه 18 مرداد 1390, 19:03 عصر
سلام من یک برنامه به صورت سرویس نوشتم که خودکار از دیتابیس بکاپ بگیرد.
سرویس اجرا میشود ولی کد من اجرا نمیشود. لطفا کد را بررسی کنید و اشکال کارم را بگویید.

Esmail Solhkhah
سه شنبه 18 مرداد 1390, 19:47 عصر
دوست عزیز کدتونو به صورت زیر اصلاح کردم

try
{
string dbname = "kkkk";

SqlCommand cmd = new SqlCommand();

string query = "BACKUP DATABASE " + dbname + " TO DISK ='c:\\Temp\\1.bak'";
cmd.Connection = new SqlConnection("Data Source=.\\sqlexp2005;Integrated Security=True;Integrated Security = SSPI");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
MessageBox.Show(".فایل پشتیبان گرفته شد");
}
catch (Exception ex) // ایجاد فایل خطای ران تایم
{
System.IO.StreamWriter sw = new StreamWriter(Application.StartupPath+"\\Errors.txt");
sw.WriteLine(ex.Message);
sw.WriteLine(ex.StackTrace);
sw.Close();

}


فقط به چند نکته دقت کنید

1: شما موقعی که میخاید بکاپ بگیرید باید دیتابیستون به SQL SERVER اتچ شده باشه نمیتونید با User Instamce این کارو بکنید

پس اول دیتابیستون رو با Managment Studio اتچ کنید

2: اگه میخاید سرویستون بتونه با دسکتاپ ارتباط داشته باشه و بتونه مسیج باکس بده باید تو سرویس منیجر ویندوز تو قسمت Properties - Log On

اون تیک.. Allow Service to Interact رو بزارید

ضمنا بنده کد رو تو بلوک مدیریت استثنا گذاشتم در صورت بوجود آمدن خطای ران تایم تو مسیر اجرایی برنامه خطا تو فایل مربوطه نوشته میشه

ضمنا زمانبندی 6 ثانیه برا بکاپ؟ احتمالا این قسمتشو بعدن مینویسید

موفق باشید.

Esmail Solhkhah
سه شنبه 18 مرداد 1390, 19:54 عصر
یادم نرفته sqlexp2005 براتون داستان نشه

تو کامپیوتر بنده اینطوره برا شما فک کنم sqlexpress بود بیزحمت ریپلیسش کنید.

Collector
سه شنبه 18 مرداد 1390, 22:55 عصر
یادم نرفته sqlexp2005 براتون داستان نشه

تو کامپیوتر بنده اینطوره برا شما فک کنم sqlexpress بود بیزحمت ریپلیسش کنید.



دوست عزیز این مشکل با این کد برطرف نشد لطف کن سورس پروژه ای که تست کردی رو آپلود کن.

Esmail Solhkhah
چهارشنبه 19 مرداد 1390, 04:17 صبح
دوست عزیز این مشکل با این کد برطرف نشد لطف کن سورس پروژه ای که تست کردی رو آپلود کن.
رو چشم

فقط یادتون نره سرویس رو با یه بچ فایلی که تو مسیر خروجی برنامه گذاشتم نصب کنید

بعد با سرویس منیجر ویندوز استارتش کنید

اگر هم خاستید تو کد پروژه تغیرر بدید اول با استفاده از سرویس منیجر ویندوز سرویستون رو استوپش کنید بعد با استفاده از بچ فایل دوم از نصب درش بیارید بعدن پروژه رو کاپایل کنید

موفق باشید.