PDA

View Full Version : سوال: مشکل بعد از Detach کردن دیتابیس



vahidth
یک شنبه 12 آذر 1391, 09:29 صبح
سلام
من یه پروژه ای رو با #C و بانک Sql نوشتم دیتابیس رو که ساختم در Sql و در سی شارپ بهش متصل میشم و پروژه بدون خطا اجرا میشه ولی وقتی من دیتابیس رو به پروژه اضافه میکنم این ارور رو میده
95896
در ضمن برای اضافه کردن دیتابیس به پروژه از این روش استفاده میکنم
SQL Server Management Studioرو باز میکنم روی دیتابیسی که ساختم کلیک راست میکنم و گزینه Tasks-Detach رو انتخاب میکنم و از مسیری که دیتابیس ها ذخیره شدن دیتابیس رو انتخاب و در پروژه کپی میکنم

lahiji
یک شنبه 12 آذر 1391, 09:56 صبح
سلام

زمانی که دیتا بیس رو detach می کنی از sql server در واقع داری فایل دیتا بیس رو (mdf) فایل رو به پروژه اضافه می کنی

راه حل :
حالا باید نوع کانکشن رو هم عوض کنی چون قبلا به sql server کانکت می شدی حالا که از mdf استفاده می کنی باید AttachDbFilename رو هم بهش بدی
می تونی از کد زیر استفاده کنی


"Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|Database.MDF;Integrated Security=True;User Instance=True"


موفق باشی

vahidth
یک شنبه 12 آذر 1391, 10:05 صبح
مرسی
داداش datadirectory چیه و چطوری تعریف کنم من اینجوری تعریف میکنم ارور میده

"server=(local);attachdbfilename=|datadirectory|\af .mdf;Integrated Security=True;"
داداش من در پروژه اینجوری تعریف کردم میشه بگی باید چطوری تعریف کنم که دیتابیس رو بشناسه
"server=(local);database=af;Integrated Security=True;"

lahiji
یک شنبه 12 آذر 1391, 10:11 صبح
از کدی که بهت دادم استفاده کن

چون برای خودت دو تا ایراد داره

vahidth
یک شنبه 12 آذر 1391, 10:16 صبح
داداش از کد شما استفاده میکنم ارور میده چون من sql express نصب نکردم ولی بجای اون sql server نصب کردم

lahiji
یک شنبه 12 آذر 1391, 10:16 صبح
datadirectory مسیری هستش که برنامه و یا همون پروژه ات از اونجا run میشه

lahiji
یک شنبه 12 آذر 1391, 10:18 صبح
داداش از کد شما استفاده میکنم ارور میده چون من sql express نصب نکردم ولی بجای اون sql server نصب کردم

مگه نگفتی که mdf فایل رو از sql server دی اتچ کردی و به پروژه ات اضافه کردی ؟
سئوال : آیا mdf فایل رو به پروژه اضافه کردی ؟

vahidth
یک شنبه 12 آذر 1391, 10:21 صبح
95900
چرا داداش به پروژم اضافه کردم
شما به این سوال من جواب بده
این کد دیتابیس منه
"server=(local);database=af;Integrated Security=True;"
بعد از دیتیچ کردن کد رو چطوری به پروژه اضافه کنم این کد رو نگاه کن مشکل از کجاست
"server=(local);attachdbfilename=|datadirectory|\af .mdf;Integrated Security=True;"
دیتابیس من در این مسیر است C:\Users\Administrator\Documents\Visual Studio 2012\Projects\pro2\pro2

lahiji
یک شنبه 12 آذر 1391, 10:25 صبح
95900
چرا داداش به پروژم اضافه کردم

نه عزیزم اینو فقط کپی کردی توی فولدرش

روی پروژه ات راست کلیک کن از منوی ظاهر شده قسمت add برو
Existing Item رو انتخاب کن از اونجا فایل mdf رو انتخاب کن تا به پروژه ات اضافه بشه

lahiji
یک شنبه 12 آذر 1391, 10:38 صبح
95900
چرا داداش به پروژم اضافه کردم
شما به این سوال من جواب بده
این کد دیتابیس منه
"server=(local);database=af;Integrated Security=True;"
بعد از دیتیچ کردن کد رو چطوری به پروژه اضافه کنم این کد رو نگاه کن مشکل از کجاست
"server=(local);attachdbfilename=|datadirectory|\af .mdf;Integrated Security=True;"
دیتابیس من در این مسیر است C:\Users\Administrator\Documents\Visual Studio 2012\Projects\pro2\pro2

فایل Mdf رو در مسیر زیر bin\debug کپی کن
چون مسیر پیش فرض اونجاست مگر اینکه بخواهی خود دستی در کانکشن بهش آدرس بدی
موقعی که اونجا کپی کردی "\" رو هم که قبل از نام فایل گذاشتی بردار

vahidth
یک شنبه 12 آذر 1391, 10:43 صبح
داداش فایل mdf رو به پروژه اضافه کردم حالا کانکشن رو چطوری آدرس دهی کنم
من اینجوری ادرس دهی میکنم ارور میده "server=(local);attachdbfilename=|datadirectory|\af .mdf;Integrated Security=True;"

lahiji
یک شنبه 12 آذر 1391, 10:54 صبح
داداش فایل mdf رو به پروژه اضافه کردم حالا کانکشن رو چطوری آدرس دهی کنم
من اینجوری ادرس دهی میکنم ارور میده "server=(local);attachdbfilename=|datadirectory|\af .mdf;Integrated Security=True;"

کد زیر رو کپی کن داخل برنامه ات

"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\af.mdf;Integrated Security=True;User Instance=True"

vahidth
یک شنبه 12 آذر 1391, 11:04 صبح
کپی کردم این ارور رو میده داداش
95901

lahiji
یک شنبه 12 آذر 1391, 11:15 صبح
بک اسلش پشت نام فایل رو بر دار ببین درست میشه

یه بک اسلش اضافه هم برای sqlexpress بذار

دیگه باید درست بشه

vahidth
یک شنبه 12 آذر 1391, 11:23 صبح
نه داداش این ارور رو میده
95903
اعصاب مو بهم ریخت

lahiji
یک شنبه 12 آذر 1391, 11:24 صبح
نه داداش این ارور رو میده
95902
اعصاب مو بهم ریخت

یه بک اسلش اضافه هم برای sqlexpress بذار

برنامه رو upload کن تا برات درست کنم

vahidth
یک شنبه 12 آذر 1391, 11:27 صبح
بیا عزیز
http://uploadtak.com/images/p7221_pro2.rar

vahidth
یک شنبه 12 آذر 1391, 11:51 صبح
شرمنده داداش
من sql server نصب کردم برای چی sql express نصب کنم

lahiji
یک شنبه 12 آذر 1391, 12:46 عصر
سلام

بفرما اینم پروژت

http://uploadtak.com/images/g5117_Pro3.rar

vahidth
یک شنبه 12 آذر 1391, 13:15 عصر
سلام

بفرما اینم پروژت

http://uploadtak.com/images/g5117_Pro3.rar
ممنون ازت داداش گلم ولی بازم درست نشد این ارور رو میده
95908

lahiji
یک شنبه 12 آذر 1391, 13:59 عصر
ممنون ازت داداش گلم ولی بازم درست نشد این ارور رو میده
95908

قطعا مشکل از vs هستش
چون من تستش کردم چند تا رکورد هم ثبت کردم

vahidth
یک شنبه 12 آذر 1391, 15:42 عصر
ویندوز رو عوض کردم و بازم sql server 2012 و ویژال استادیو2012 رو نصب کردم مشکلم حل نشد ویندوز من هم 64 بیتی است

vahidth
یک شنبه 12 آذر 1391, 17:25 عصر
مشکل من از کانکشن استرینگ بود که باید به این صورت تعریف میکردم
Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\namedatabase;Integrated Security=True

lahiji
یک شنبه 12 آذر 1391, 19:14 عصر
مشکل من از کانکشن استرینگ بود که باید به این صورت تعریف میکردم
Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\namedatabase;Integrated Security=True

اگر زود تر میگفتی vs2012 هستش . عرض میکردم خدمتتون که چه کار باید میکردید
به هر حال موفق باشید