PDA

View Full Version : تفاوت AttachDbFilename با Database



تبسم ساینا
شنبه 08 فروردین 1394, 23:01 عصر
سلام .. در رشته اتصالی (ConnectionString)که در سی شارپ برا SQL نوشته میشه فرق این دو مورد چیه و چرا از هر دو استفاده میشه ؟ تو این لینک (http://www.connectionstrings.com/sql-server-2012/) یه توضیحی داده که اینجا میذارم ولی من متوجه ش نمیشم.. ممنون میشه یه توضیح بدید.



Server=.\SQLExpress;AttachDbFilename=|DataDirector y|mydbfile.mdf;Database=dbname;
Trusted_Connection=Yes;

Why is the Database parameter needed? If the named database have already been attached, SQL Server does not reattach it. It uses the attached database as the default for the connection.

SabaSabouhi
شنبه 08 فروردین 1394, 23:11 عصر
سلام .. در رشته اتصالی (ConnectionString)که در سی شارپ برا SQL نوشته میشه فرق این دو مورد چیه و چرا از هر دو استفاده میشه ؟ تو این لینک (http://www.connectionstrings.com/sql-server-2012/) یه توضیحی داده که اینجا میذارم ولی من متوجه ش نمیشم.. ممنون میشه یه توضیح بدید.

سلام
تفاوت اینه که
وقتی شما از AttachDbFileName استفاده می‌کنی، دیتابیس به صورت موقت Attach می‌شه و بعد هم Detach می‌شه.
در حالت Database شما دیتابیس رو چه تو Management Studio و چه با فرمان‌های SqlCmd یا حتا تو برنامه‌ی Setup به دیتابیس Attach می‌کنی. تو این حالت وقتی با Management Studio به سرور
وصل می‌شی، دیتابیس رو می‌بینی.
طبیعی هست که روش اول بار کمتری روی سرور ایجاد می‌کنه و به‌خصوص در محیط توسعه که ممکنه روی چند تا پروژه با دیتابیس‌ها مختلف کار می‌کنیم. انتخاب به‌تری باشه.
اما از طرف دیگه به دلیل Attach شدن در هر اجرا مقدار کند‌تر هست.
برای کارهای جدی و حرفه‌ای به نظر من روش مناسبی نیست. چون ما در پروژه‌های جدی Sql Server مجزا داریم و دیتابیس باید حتماً Attach بشه.

البته این‌ها نظر شخصی من بود.

صبا صبوحی

تبسم ساینا
شنبه 08 فروردین 1394, 23:22 عصر
ممنون.و یه سوال دیگه طبق اون متن انگلیسی که گذاشتم اگه از هر دو مورد تو رشته اتصال استفاده بشه (هم
AttachDbFilename و هم Database) و اون دیتابیس نام برده(جلوی Database) , اتچ شده باشه از همین دیتابیس استفاده میکنه وگرنه میره و از
AttachDbFilename
استفاده میکنه درسته؟