مشکل در ایجاد ارتباط با Database در visual studio 2015

MPERSIA4

Member
درود و خسته نباشید خدمت دوستان
من تازه برنامه نویسی رو بعد تموم شدن خدمتم شروع کردم
و هی دارم به مشکل برمیخوردم
آخرین مشکلم ارتباط با دیتابیسی هست که با sql server 2016 ساختم
هر دفعه این پیغام رو میده که این فایل با یک نرم افزار دیگه در حال استفاده است
23579d1481213729-database-visual-studio-2015-a-screenshot-31-png

البته من قبلا با detach کردن دیتابیس از sqlserver، اونو به برنامم اضاف کردم ولی میخوام بدونم چطور میشه بدون اینکار(detach) ارتباط برقرار کرد

با سپاس فراوان
 

the_king

مدیرکل انجمن
درود و خسته نباشید خدمت دوستان
من تازه برنامه نویسی رو بعد تموم شدن خدمتم شروع کردم
و هی دارم به مشکل برمیخوردم
آخرین مشکلم ارتباط با دیتابیسی هست که با sql server 2016 ساختم
هر دفعه این پیغام رو میده که این فایل با یک نرم افزار دیگه در حال استفاده است
23579d1481213729-database-visual-studio-2015-a-screenshot-31-png

البته من قبلا با detach کردن دیتابیس از sqlserver، اونو به برنامم اضاف کردم ولی میخوام بدونم چطور میشه بدون اینکار(detach) ارتباط برقرار کرد

با سپاس فراوان
پایگاه داده ای که Attach نشده در SQL Server قابل استفاده نیست، اما مشکل شما احتملا مربوط به اینه که دارید در پروژه تان با یک نسخه کپی پایگاه داده کار می کنید.
معمولا اتفاقی که می افته و مشکل رو ایجاد می کنه اینه، وقتی شما برای اولین بار به پروژه تون پایگاه داده تون رو معرفی می کنید و در واقع Data Source جدید معرفی می کنید یک سوال مهم توسط ویژوال استدیو ازتون پرسیده میشه که می خواهید از پایگاه داده یک نسخه کپی به پروژه تون اضافه بشه و یا می خواهید همون پایگاه داده نسخه اصلی رو در پروژه بکار ببرید. شما به سوال پاسخ مثبت می دهید و ویژوال استدیو یک نسخه کپی از پایگاه داده تون رو در داخل پوشه پروژه تون ایجاد می کنه. حالا چطور این حالت اشکال ایجاد می کنه؟ شما در یک Instance از SQL Server نمی توانید دو تا پایگاه داده همنام رو همزمان Attach کنید. وقتی در برنامه تون پایگاه داده میخواد بصورت دستی یا خودکار Attach بشه می بینه که یک پایگاه داده همنام قبلا Attach شده و جلوی Attach شدن نسخه کپی رو می گیره و وادارتون می کنه که اول نسخه اصلی رو Detach کنید. راحت ترین راه حل اینه که پروژه رو در ویژوال استدیو باز کنید و پایگاه داده و ConnectionString و فایل های کلاس اش که بصورت خودکار ویژوال استدیو ساخته از پروژه تون حذف کنید و بعدا مجددا پایگاه داده رو به پروژه اضافه کنید و اینبار وقتی که ویژوال استدیو ازتون سوال پرسید که کپی ازش بگیرم یا نه، پاسخ منفی بدهید.
 

MPERSIA4

Member
پایگاه داده ای که Attach نشده در SQL Server قابل استفاده نیست، اما مشکل شما احتملا مربوط به اینه که دارید در پروژه تان با یک نسخه کپی پایگاه داده کار می کنید.
معمولا اتفاقی که می افته و مشکل رو ایجاد می کنه اینه، وقتی شما برای اولین بار به پروژه تون پایگاه داده تون رو معرفی می کنید و در واقع Data Source جدید معرفی می کنید یک سوال مهم توسط ویژوال استدیو ازتون پرسیده میشه که می خواهید از پایگاه داده یک نسخه کپی به پروژه تون اضافه بشه و یا می خواهید همون پایگاه داده نسخه اصلی رو در پروژه بکار ببرید. شما به سوال پاسخ مثبت می دهید و ویژوال استدیو یک نسخه کپی از پایگاه داده تون رو در داخل پوشه پروژه تون ایجاد می کنه. حالا چطور این حالت اشکال ایجاد می کنه؟ شما در یک Instance از SQL Server نمی توانید دو تا پایگاه داده همنام رو همزمان Attach کنید. وقتی در برنامه تون پایگاه داده میخواد بصورت دستی یا خودکار Attach بشه می بینه که یک پایگاه داده همنام قبلا Attach شده و جلوی Attach شدن نسخه کپی رو می گیره و وادارتون می کنه که اول نسخه اصلی رو Detach کنید. راحت ترین راه حل اینه که پروژه رو در ویژوال استدیو باز کنید و پایگاه داده و ConnectionString و فایل های کلاس اش که بصورت خودکار ویژوال استدیو ساخته از پروژه تون حذف کنید و بعدا مجددا پایگاه داده رو به پروژه اضافه کنید و اینبار وقتی که ویژوال استدیو ازتون سوال پرسید که کپی ازش بگیرم یا نه، پاسخ منفی بدهید.
ممنون بابت راهنماییتون
من کاری که گفتید رو انجام دادم ولی بازم نمیشه
هیچ جوره نمیتونم وقتی sql به پایگاه داده دسترسی داره ، به پایگاه داده وصل شم
فقط وقتی میتونم اینکارو کنم که ارتباط پایگاه دادم رو با sql قطع کنم
و وقتی بعد اتصال با ویژوال استودیو دوباره میخوام به sql وصلش کنم این خطا رومیده
etk2_screenshot_(32).png

ممکنه این دوتا نرم افزار تنظیماتی داشته باشن که باید تغییرشون بدم؟
 

the_king

مدیرکل انجمن
ممنون بابت راهنماییتون
من کاری که گفتید رو انجام دادم ولی بازم نمیشه
هیچ جوره نمیتونم وقتی sql به پایگاه داده دسترسی داره ، به پایگاه داده وصل شم
فقط وقتی میتونم اینکارو کنم که ارتباط پایگاه دادم رو با sql قطع کنم
و وقتی بعد اتصال با ویژوال استودیو دوباره میخوام به sql وصلش کنم این خطا رومیده
etk2_screenshot_(32).png

ممکنه این دوتا نرم افزار تنظیماتی داشته باشن که باید تغییرشون بدم؟
شاید، ابتدا موقعی که SQL Server Management Studio رو اجرا می کنید و لاگین می کنید ببینید Server Name چیه. اسم همون Instance ئه SQL Server خواهد بود که میتونه فقط یک نقطه یا یک آدرس کامل باشه.
بعد در ویژوال استدیو پروژه تون رو باز کنید و در منوی Project گزینه ...projectName} Properties} رو انتخاب کنید. در زبانه Settings باید یک تنظیمی برای ذخیره کردن ConnectionString باشه که با اسم پایگاه داده تون شروع میشه، مثلا MyDbConnectionString
مقدار ستون Value اش رو ببینید، فیلد Data Source اش چه مقداریه؟ باید همون مقدار Server Name باشه. اگر ایندو با هم فرق دارند شما احتمالا دارید یک پایگاه داده رو در دو Instance مجزا Attach می کنید که عملی نیست.
 

MPERSIA4

Member
شاید، ابتدا موقعی که SQL Server Management Studio رو اجرا می کنید و لاگین می کنید ببینید Server Name چیه. اسم همون Instance ئه SQL Server خواهد بود که میتونه فقط یک نقطه یا یک آدرس کامل باشه.
بعد در ویژوال استدیو پروژه تون رو باز کنید و در منوی Project گزینه ...projectName} Properties} رو انتخاب کنید. در زبانه Settings باید یک تنظیمی برای ذخیره کردن ConnectionString باشه که با اسم پایگاه داده تون شروع میشه، مثلا MyDbConnectionString
مقدار ستون Value اش رو ببینید، فیلد Data Source اش چه مقداریه؟ باید همون مقدار Server Name باشه. اگر ایندو با هم فرق دارند شما احتمالا دارید یک پایگاه داده رو در دو Instance مجزا Attach می کنید که عملی نیست.
منظورتون این قسمته؟
اگه اینجاست چه تنظیماتی باس روش انجام بدم؟
Screenshot (36).png
من خیلی برا این مشکلم گشتم
تو چنتا سایت که همشون از هم کپی کرده بودن گفته بودن که باس برم از قسمت
Computer managment > Services و بعد اونجا (SQL Server (SQLExpress رو غیر فعال کنم
من این کارم کردم ، البته برا من SQLExpress نیس و بجاش MPERSISQL16 هست
ولی بعد این که دوباره اینو فعال میکنم این ارور رو تو SQL نشون میدهScreenshot (37).png
ی چیز دیگه
Server Name من تو SQL اینجوری نشون میده > MPERSIA\MPERSIASQL16
ولی تو Data Source قسمت Add Connection اینطوری نشون میدهScreenshot (33).png
و وقتی هم ازش استفاده میکنم این خطا رو نشون میده
Screenshot (35).png
خب الان مشکل کجاست؟
چرا همچین خطایی میده؟
من قبلا همچین مشکلی نداشتم ، البته با نسخه های قدیمی تر سه چهار سال پیش
ولی نمیدونم چرا اینجا اینجوری میشه
 

the_king

مدیرکل انجمن
منظورتون این قسمته؟
اگه اینجاست چه تنظیماتی باس روش انجام بدم؟
مشاهده پیوست 111744
من خیلی برا این مشکلم گشتم
تو چنتا سایت که همشون از هم کپی کرده بودن گفته بودن که باس برم از قسمت
Computer managment > Services و بعد اونجا (SQL Server (SQLExpress رو غیر فعال کنم
من این کارم کردم ، البته برا من SQLExpress نیس و بجاش MPERSISQL16 هست
ولی بعد این که دوباره اینو فعال میکنم این ارور رو تو SQL نشون میدهمشاهده پیوست 111745
ی چیز دیگه
Server Name من تو SQL اینجوری نشون میده > MPERSIA\MPERSIASQL16
ولی تو Data Source قسمت Add Connection اینطوری نشون میدهمشاهده پیوست 111746
و وقتی هم ازش استفاده میکنم این خطا رو نشون میده
مشاهده پیوست 111747
خب الان مشکل کجاست؟
چرا همچین خطایی میده؟
من قبلا همچین مشکلی نداشتم ، البته با نسخه های قدیمی تر سه چهار سال پیش
ولی نمیدونم چرا اینجا اینجوری میشه
اون . (نقطه) اسم سیستم تونه که MPERSIA هستش، یعنی MPERSIA\MPERSIASQL16 و MPERSIASQL16\. میتونه برای سیستم شما یک مسیر یکسان باشه.
شما برای دسترسی به پایگاه داده دارید از روش (Microsoft SQL Server Database File (SqlClient استفاده می کنید که روش مرسوم SQL Express ئه و مسیر فایل پایگاه رو از شما می گیره و خودش عمل Attach کردن رو انجام میده.
روش کارش ساده تر ئه چون عمل Attach رو بدون دخالت شما بصورت خودکار انجام میده ولی عیبش اینه که با پایگاه داده بصورت انحصاری کار می کنه، نمی توانید همزمان هم در پایگاه داده Attach اش کنید و هم در برنامه تون سراغ فایل اش بروید. چون شما اون پایگاه داده رو در SQL Server قبلا Attach کرده اید فایل های پایگاه داده باز شدن و SQL Server به هیچ برنامه دیگری اجازه دسترسی اشتراکی نمیده. اون دکمه Change رو جلوی کادر Data Source می بینید؟ رویش کلیک کنید و به Microsoft SQL Server تغییرش بدهید (عبارت Database File نداره) و وقتی Server Name رو انتخاب کردید یا تایپ کردید همون پایگاه داده Attach شده رو در لیست انتخاب کنید.
 

MPERSIA4

Member
اون . (نقطه) اسم سیستم تونه که MPERSIA هستش، یعنی MPERSIA\MPERSIASQL16 و MPERSIASQL16\. میتونه برای سیستم شما یک مسیر یکسان باشه.
شما برای دسترسی به پایگاه داده دارید از روش (Microsoft SQL Server Database File (SqlClient استفاده می کنید که روش مرسوم SQL Express ئه و مسیر فایل پایگاه رو از شما می گیره و خودش عمل Attach کردن رو انجام میده.
روش کارش ساده تر ئه چون عمل Attach رو بدون دخالت شما بصورت خودکار انجام میده ولی عیبش اینه که با پایگاه داده بصورت انحصاری کار می کنه، نمی توانید همزمان هم در پایگاه داده Attach اش کنید و هم در برنامه تون سراغ فایل اش بروید. چون شما اون پایگاه داده رو در SQL Server قبلا Attach کرده اید فایل های پایگاه داده باز شدن و SQL Server به هیچ برنامه دیگری اجازه دسترسی اشتراکی نمیده. اون دکمه Change رو جلوی کادر Data Source می بینید؟ رویش کلیک کنید و به Microsoft SQL Server تغییرش بدهید (عبارت Database File نداره) و وقتی Server Name رو انتخاب کردید یا تایپ کردید همون پایگاه داده Attach شده رو در لیست انتخاب کنید.
خیلی خیلی ممنون که منو از اشتباهم اگاه کردید!!!
با سپاس فراوان تا درخواست کمکی دیگر بدرود
 

sahar24

New Member
سلام خسته نباشید من در برنامه ویژوال استدیو میخواستم پایگاه داده ای که ساخته بودم معرفی کنم ولی پایگاه داده منو نمایش نمیداد ممنون میشم راهنمایکنید
فقط موارد پیش فرض پایگاه داده رو نمایش میده 2020-12-17_21-21-40.png]2020-12-17_21-34-53.png3
 
آخرین ویرایش:

sahar24

New Member
ممنون میشم بنده رو راهنمای کنید خیلی گشتم ولی نمیدونم واقعا کجارو اشتباه انجام دادم که درست نمیشه ممنون میشم
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
سلام خسته نباشید من در برنامه ویژوال استدیو میخواستم پایگاه داده ای که ساخته بودم معرفی کنم ولی پایگاه داده منو نمایش نمیداد ممنون میشم راهنمایکنید
فقط موارد پیش فرض پایگاه داده رو نمایش میده مشاهده پیوست 113734]مشاهده پیوست 1137363

سلام
در کادر Data Source (در تصویر اول) ، گزینه ی Microsoft SQL Server Database File را انتخاب کنید .

در کادرِ Server Name (در تصویر اولی) ، دکمه ی Browse اضافه میشه . دکمه ی Browse را بزنید و ببینید میتونید فایل دیتابیس موجودتون را انتخاب و اضافه کنین؟
 
آخرین ویرایش:

sahar24

New Member
سلام خسته نباشید من مشکلی پیدا کردم در اجرای برنامه که کلا مجبور شدم حذف کنم و از اول نصب کنم حالا چند بار امتحان کردم ولی هر بار با خطا های رو به رو میشم میشه بنده رو راهنمای کنید ممنون می2020-12-18_14-23-04.pngشم2020-12-18_21-53-08.png2020-12-20_16-50-19.png
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
سلام
من دقیق نمیدونم .
ولی تا استاد یا دوستان دیگه بیان برای راهنمایی ، انگار مشکل را از سرویس آپدیت ویندوز میگیره .
چک کنید ببینید در قسمت سرویس ها ، سرویسِ Windows Update تون فعال باشه .
 

sahar24

New Member
سلام
من دقیق نمیدونم .
ولی تا استاد یا دوستان دیگه بیان برای راهنمایی ، انگار مشکل را از سرویس آپدیت ویندوز میگیره .
چک کنید ببینید در قسمت سرویس ها ، سرویسِ Windows Update تون فعال باشه .
وقتتون بخیر باشه ممنونم از پاسخ شما بله خودم میدونم از سیستم اپدیت ارورر میگره ولی حتی با روشن بودن اپدیت و اینتر نتم باز این مشکل بود یعنی اپدیتو پیدا نمی کرد برا همین نمیدونم چه کار باید انجام بدم.
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
یا بصورت دستی ، ویندوزتون را آپدیت کنید .
یا ویندوز با آخرین به روز رسانی را مجددا نصب کنید و بعد sql server را نصب کنید ، ببینید همین خطا را میده یا نه؟
اگه میتونید ، نسخه ی 2019 ی sql server را نصب کنید ، ببینید همین خطا را میده یا نه؟


و

 

sahar24

New Member
یا بصورت دستی ، ویندوزتون را آپدیت کنید .
یا ویندوز با آخرین به روز رسانی را مجددا نصب کنید و بعد sql server را نصب کنید ، ببینید همین خطا را میده یا نه؟
اگه میتونید ، نسخه ی 2019 ی sql server را نصب کنید ، ببینید همین خطا را میده یا نه؟


و

ممنونم برای راهنمایی مفیدتون ولی باز هم یکی از ارور ها وجو داشت فعلا مشکلی نداره برنامه
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا