PDA

View Full Version : ارتباط دیتا بیس به SQLExpress؟



Mofid.m
چهارشنبه 06 اسفند 1393, 23:28 عصر
درود به همه دوستان
نمی دونم باید اینجا سوال خودمو مطرح کنم یا نه!!
من یه برنامه نوشتم و از SQL Server 2008 R2 Interprise برای ساخت پایگاه داده استفاده کردم.
تو دیتابیسم اومدم Stored Procedure تعریف کردم و بدون هیچ مشکلی تو سیستم من کار میکنه؟
زمانی برای برنامه خودم Setup ساختم روی تیک SQLExpress2008 کلیک کردم تا همراه برنامم نصب بشه.
اما ارتباط دادن SQLExpress رو با دیتابیسم نمی تونم انجام بدم.
سوال من اینه که اصلا میشه دیتابیس خودمو بهش ارتباط بدم؟
سوال دوم اینه که دستوراتی که تو Stored Procedure نوشتم رو SQL Express میتونه اجرا کنه یا نه؟
آخه جایی خوندم که همه دستورات رو شاید نتونه اجرا کنه!!!!

sajadsobh
پنج شنبه 07 اسفند 1393, 05:17 صبح
شما فقط با تغییر کانکشن استرینگ خودتون می تونید اون دیتابیس رو اتچ کنید. فایل دیتابیس رو کنار فایل نصب برنامه تون توی پوشه bin/Debug قرار بدید و از این کانکشن استرینگ استفاده کنید:

SqlConnection SqlCon = new SqlConnection(@"Data Source=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|MyDB.mdf; Database=MyDB; Integrated Security=True; Connect Timeout=30; User Instance=True; Asynchronous Processing=true");

فقط بجای MyDB نام دیتابیس خودتون رو قرار بدید.

SabaSabouhi
پنج شنبه 07 اسفند 1393, 07:37 صبح
درود به همه دوستان
نمی دونم باید اینجا سوال خودمو مطرح کنم یا نه!!
من یه برنامه نوشتم و از SQL Server 2008 R2 Interprise برای ساخت پایگاه داده استفاده کردم.
تو دیتابیسم اومدم Stored Procedure تعریف کردم و بدون هیچ مشکلی تو سیستم من کار میکنه؟
زمانی برای برنامه خودم Setup ساختم روی تیک SQLExpress2008 کلیک کردم تا همراه برنامم نصب بشه.
اما ارتباط دادن SQLExpress رو با دیتابیسم نمی تونم انجام بدم.
سوال من اینه که اصلا میشه دیتابیس خودمو بهش ارتباط بدم؟
سوال دوم اینه که دستوراتی که تو Stored Procedure نوشتم رو SQL Express میتونه اجرا کنه یا نه؟
آخه جایی خوندم که همه دستورات رو شاید نتونه اجرا کنه!!!!

سلام
شما دیتابیس رو با نسخه‌ی 2012 ساختی، پس قطعاً نمی‌تونی تو نسخه‌ی 2008 ازش استفاده کنی
چه با روش Backup-Restore و چه با روش Attach کردن.
اما اگه از دیتابیس خودت Script بگیری و بگی Target رو روی 2008 بگذاره، می‌تونی دیتابیس رو دوباره ایجاد کنی.
در مورد دستورات هم حق داری ممکنه به مشکل بخوری اگه از فرمان‌های اضافه‌شده در نسخه‌های 2012 به بالا
استفاده کرده باشی، اما اگه استفاده نکردی، خیالت راحت باشه.

صبا صبوحی

Mofid.m
پنج شنبه 07 اسفند 1393, 15:12 عصر
سلام
شما دیتابیس رو با نسخه‌ی 2012 ساختی، پس قطعاً نمی‌تونی تو نسخه‌ی 2008 ازش استفاده کنی
چه با روش Backup-Restore و چه با روش Attach کردن.
اما اگه از دیتابیس خودت Script بگیری و بگی Target رو روی 2008 بگذاره، می‌تونی دیتابیس رو دوباره ایجاد کنی.
در مورد دستورات هم حق داری ممکنه به مشکل بخوری اگه از فرمان‌های اضافه‌شده در نسخه‌های 2012 به بالا
استفاده کرده باشی، اما اگه استفاده نکردی، خیالت راحت باشه.

صبا صبوحی

از نسخه 2008 R2 استفاده کردم فکر نمیکنم با نسخه خود 2008 خیلی فرق کنه!!!!

Mofid.m
پنج شنبه 07 اسفند 1393, 15:21 عصر
شما فقط با تغییر کانکشن استرینگ خودتون می تونید اون دیتابیس رو اتچ کنید. فایل دیتابیس رو کنار فایل نصب برنامه تون توی پوشه bin/Debug قرار بدید و از این کانکشن استرینگ استفاده کنید:

SqlConnection SqlCon = new SqlConnection(@"Data Source=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|MyDB.mdf; Database=MyDB; Integrated Security=True; Connect Timeout=30; User Instance=True; Asynchronous Processing=true");

فقط بجای MyDB نام دیتابیس خودتون رو قرار بدید.

من از VS 2010 برای نوشتن برنامه استفاده کردم. تو قسمت Server Explorer هیچ دیتا بیسی براش نساختم.
اگه از روشی که شما گفتین باید براش تو قسمت Server Explorer دیتا بیس بسازم؟؟

sajadsobh
پنج شنبه 07 اسفند 1393, 16:50 عصر
خیر نیاز نیست. دیتابیس رو توی sql server management studio بسازید و فایل رو در اون پوشخ ذخیره کنید. البته دیگه نیاز به اتچ کردن دیتابیس هم نیست. با این کانکشن استرینگ دیتابیس به sql express اتچ میشه.
البته SabaSabouhi (http://barnamenevis.org/member.php?17257-SabaSabouhi) تجربه ی بیشتری دارند. اگه اشتباه میکنم ایشون می تونن اصلاح کنن :لبخندساده:

Mofid.m
پنج شنبه 07 اسفند 1393, 23:59 عصر
واقعا ازتون مرسی