PDA

View Full Version : نظر سنجی درباره connection string



ali_mnkt
چهارشنبه 30 دی 1388, 22:56 عصر
با سلام

دوستان من برای تعریف مکان connection string در سایت جستجو کردم و به این نتیجه رسیدم

که باید connection string رو تو web config تعریف کنم . خوب در مورد نحوه نوشتن

connection string هم نظر ها متفاوت بود در پست زیر آقای باقری پیشنهاد کرده که فایل ها ی

Mdf و Ldf رو در پوشه App_data قرار بدیم و آدرس دهی کنیم .

http://barnamenevis.org/forum/showthread.php?t=124242

اما در دیگر دوستان عقیده داشتن که فایل ها رو توسط مدیر هاست اول restor کنیم و بعد با

توجه به ip هاست connection string رو بنویسیم .

می خواستم بدونم کدومش بهتره و اصولی تره ؟

ehsan2007
پنج شنبه 01 بهمن 1388, 00:15 صبح
سلام
اگه داخل پوشه قرار بدید باید از کد زیر استفاده کنید


Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Data base.mdf;

که این کد دیتابیس رو attach میکنه روی سرور SQLExpress
با کانکشن معمولی شما دیتابیس رو درست کردی یا attach کردی روی سروری که میخواستی و سپس ارتباط رو برقرار کردی
در کل هر دو یکجور هستند و کاراییشون یکیه از نظر عملیاتی
ولی دومیرو من بیشتر میپسندم
چون
1- شما میتونی با همون یوزر و پسورد و آیپی به دیتابیست با استفاده از sqlserver management وصل بشی و هر کاری خواستی با جداول و دیتابیست بکنی
2- اینو مطمئن نیستم ولی فکر کنم درست باشه شما اگه دیتابیس رو داخل پوشه قرار بدی رو هاست میزبان هاستت انو به عنوان فایل معمولی شناسایی میکنه و حجمشرو که حدودا 10 مگابایت است به عنوان فضای اشغال شده در نظر میگیره
موفق باشی

ali_mnkt
پنج شنبه 01 بهمن 1388, 12:33 عصر
دوستان دیگه نظری ندارن ؟ مثلا از لحاظ سرعت در بازیابی اطلاعات و همچنین دردسر در مورد

upload کردن روی هاست

dr.pantagon
پنج شنبه 01 بهمن 1388, 19:53 عصر
معمولا کم تر کسی به این مسئله توجه می کنه ولی گذاشتن پسورد در web.config واقعا کاره اشتباهی هست حداقل اگر نتونین از کلمه عبور دیتابیس خود محافظت کنید ( البته در مورد کانکشن هایی که به سرور وصل می شن )

اگر می خواین تو web.config بزارین پسورد رو hash کنید ولی باز این رو هم پیشنهاد نمی کنم

دلیل این حرفم هم این هست که اگر هاست یا سرور هک شود و سرور با استفاده از پرمیشن از آپلود فایل برای هکر جلوگیری کند نمی تواند از خوندن فایل ها جلوگیری کند که هر چند همه این ها رو با استفاده از ریجیستر و یک ری استارت دادن به سرور می شه حل کرد

من پیشنهاد می کنم کانکشن خودتون رو توی فایل Global.asax بزارین همین وقتی پروژه رو کامپایل می کنید می بینید که دیگه هیچ کدی نه از کانکشن وجود داره نه کلمه عبور شما

اصلا انگار همچین چیزی وجود نداشته


در مورد Express کار کردن هم زیاد توصیه نمی کنم زیاد جالب نیست ولی آسون و راحت یعنی هلو برو تو گلو ولی یادت باشه هلو یک هسته هم داره !!!

ولی در مورد سرعت چندان تفاوتی ندارن ولی اگر attach بشه تو خوده SQL بهتر هست البته اینم بستگی داره
اکثر سرور ها چند هسته ای هستن و SQL به صورت دیفالت از تمام منابع استفاده می کنه ولی اگر مدیر سرور SQL رو لیمت کرده باشه برای استفاده از یک هسته یا مقداره خاصی از پروسس های سرور مطمعا سرعت می یاد پایین

امید وارم بدردت بخوره

Alireza_Salehi
جمعه 02 بهمن 1388, 09:47 صبح
SQL Express نسبت به نسخه های دیگه چه از لحاظ حجم پایگاه داده چه از لحاظ تعداد کانکشن های فعال و غیره محدود تره، در محیط هاستینگ هم معمولا SQL Express وجود ندارد چون شرکت های هاستینگ برای این کار هزینه دریافت می کنند بنابراین منطقی نیست که چنین چیزی روی سرور موجود باشد. این نسخه صرفا برای راحت شدن برنامه نویسی و پروژه های کوچیک هستش.
مقایسه نسخه های مختلف رو در اینجا ببینید:
2008: http://www.microsoft.com/sqlserver/2008/en/us/editions-compare.aspx
http://www.microsoft.com/sqlserver/2005/en/us/compare-features.aspx :2005

در حالت share نسخه Express عموما وجود ندارد.
دردسری هم برای آپلود کردن وجود ندارد یک بار انجام بدید یاد میگیرید در حد 2 تا سه کلیک بیشتر نیست!

روش رایج و مطمئن همون web.config هست و شرکت هاستینگ در مورد حفاظت از اطلاعات شما و حفاظت از سرویس هاستینگ مسئول هست و اگر رمز دیتابیس شما از طریق ورود و مشاهده فایل config لو بره و خودتون سوتی نداده باشین فقط و فقط شرکت مذبور مقصر هست و باید خسارت بده،
بنابراین : یک هاستینگ مناسب انتخاب کنید و نگران نباشید.