PDA

View Full Version : سوال: مشکل در اتچ شدن فایل دیتابیس در sql express2008



esafb52
شنبه 17 فروردین 1392, 20:29 عصر
با سلام من یه برنامه با اس کیوال سرور اکسپرس 2008 نوشتم وقتی تو سیستم مقصد همه چیز رو نصب میکنم باز خطا و دیتابیس رو نمیشناسه
چطور از شر این مشکل خلاص شم تعریف دییتابیس هم درسته
خطاهای زیادی میده از جمله : تایم اوت سرور

Cannot create file 'C:\Program Files\Default Company Name\Setup1 fule v 2\sokht2_log.LDF' because it already exists. Change the file path or the file name, and retry the operation.
Could not open new database 'sokht2'. CREATE DATABASE is aborted.


OK
---------------------------

SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\sokht2.mdf;Integrated Security=True;User Instance=True;Database=sokht2");
از اساتید کسی راه حل مناسبی داره که از شر این مشکل کاملا خلاص شیم؟!!

alexmcse
شنبه 17 فروردین 1392, 21:22 عصر
سلام
از لینک زیر آموزش اتچ و دی اتچ دیتابیس دانلود کن
ساده و مختصر
http://alexmcse.blogsky.com/

esafb52
شنبه 17 فروردین 1392, 22:10 عصر
با سلام دوست عزیز شخصا از این متدها استفاده کردین؟؟ تو روال لود فرم چک کنم ؟کدش رو آماده نداری الان چک کنم اینجا ویژوال استدیو ندارم؟
ممنون از پاسخ تون

alexmcse
شنبه 17 فروردین 1392, 23:01 عصر
کاملا تست شده مشکلی ندارد
class Attach_Detach
16 {
17
18 public string attachDB(string DBName)////ATTACH
19 {
20 string Message;
21 SqlConnection.ClearAllPools();
22 string path = DBName;
23 if (File.Exists(path + "_log.ldf"))
24 File.Delete(path + "_log.ldf");
25 try
26 {
27 SqlConnection con = new SqlConnection("server=.;trusted_connection=yes;");
28 SqlCommand cmd = new SqlCommand();
29 cmd.CommandText = "EXEC sp_attach_db '" + DBName + "', '" + path + ".Mdf'";
30 cmd.CommandType = CommandType.Text;
31 con.Open();
32 cmd.Connection = con;
33 cmd.ExecuteNonQuery();
34 con.Close();
35 Message = " ;" دیتابیس " + "با موفقیت اتچ شد
36 }
37 catch (Exception ex)
38 {
39 Message = ex.Message;
40 }
41 return Message;
42 }

esafb52
چهارشنبه 21 فروردین 1392, 00:58 صبح
ولی با اسکیوال 2008 اکسپرس انجام دادم خطا داد؟!!!!!!!!!من زیاد سرچ کردم بعضی جاها با اسکریپت گفتن و یا استور پروسوجر یا دستورات cmd ولی جواب نگرفتم من جایی دیدم برنامه جانبی این کار رو برای سیتم مدارس انجام میداد
از اساتید کسی نیست راهنمایی کنه یک راه حل ساده و بی دردسر برای اتچ دیتابیس و خطا ندادن تو سیستم مقصد؟؟؟مثلا یک برنامه ساده که مسیر دیتابیس رو بگیره و خودش کاراش رو انجام بده
ممنون