انواع روش های اتصال به بانک های اطلاعاتی
سلام
دوستان عزیز که اطلاع دارن
میخوام در مورد روش های اتصال به بانک اطلاعاتی در سی شارپ و بدونم
و این که کدوم بهتره
مثلا برا اکسس
SQlite
sql server
و MY SQL
روش های زیادی هست و من یکم گیج شدم
ممنون میشم کمک کنید
3 پاسخ
سلام ITPRO عزیز، در مورد انتخاب بانک و روش های اتصال به بانک کاملاً به نوع Application بستگی داره. شما اول نوع بانک اطلاعاتی رو باید انتخاب کنید و بعد از اون نوع اتصال به بانک رو.
- در مورد بانک اطلاعاتی اول از همه توصیه میکنم که Access رو برای بانک برنامتون فراموش کنید، به این خاطر که ویژگی ها و امکاناتی که در بانک اطلاعاتی مثل SQL Server در اختیار شما قرار میگیره قابل مقایسه با Access نیست. پیشنهاد بنده به شما SQL Server هست که برای خود SQL Server دو حالت وجود داره. یا می تونید از SQL Compact استفاده کنید یا SQL Server، مزیت SQL Compact اینه که بر روی کامپیوتر مقصد نیازی به نصب SQL Server نداره و با کپی کردن چند فایل DLL به راحتی می تونید از بانکتون استفاده کنید، ولی یک سری محدودیت ها دارید، مثل محدودیت حجم که تا 4 گیگابایت بیشتر پشتیبانی نمیکنه، SQL Compact برای برنامه هایی که مقدار داده اون ها کمه مناسب هست و برنامه پیچیدگی های خاص نداره و یا نیاز به ایندکس گذاری بر روی داده ندارید. اما در مورد SQL Server در حقیقت شما مشکل حجم بانک اطلاعاتی رو ندارید (البته نسخه Express رو جدا کنید) و همینطور دسترسی به خیلی از ویژگی های پیشرفته SQL Server دارید، مثل برخی دستورات T-SQL یا امکاناتی مانند ایندکس گذاری های پیشرفته بر روی جداول که باعث سرعت زیاد بانک شما در رکوردهای زیاد میشه. بانک های اطلاعاتی دیگه ای مثل SQLite یا Oracle هم باید دقت کنید که حتماً Provider برای ADO.NET داشته باشن، یعنی تو ADO.NET پشتیبانی بشن. اما در 99 درصد مواقع نیازهای شما توسط SQL Server پوشش داده میشه.
- در مورد روش اتصال به بانک اطلاعاتی، ما کلاً سه روش داریم برای اتصال: روش Connected، روش Disconnected و استفاده از ORM ها، در مورد روش Disconnected شما دستورات مستقیم SQL رو داخل برنامتون می نویسید و اجرا می کنید و تغییرات به صورت مستقیم داخل Database اعمال میشن، روش دوم شما از DataSet ها و DataTable ها استفاده می کنید که در این حالت تغییرات داخل حافظه نگه داشته شده و در صورت نیاز به سمت بانک اطلاعاتی ارسال میشن. روش سوم که معمول ترین روش برای اتصال به بانک اطلاعاتی هست، استفاده از ORM ها مثل Entity Framework یا NHibernate هست. البته سرعت دسترسی به اطلاعات، مخصوصاً تو رکوردهای بالا تو ORM از روش های یک و دو کمتره که در این جور مواقع بهتره به صورت ترکیبی از ORM و روش 1 استفاده کنید، یعنی عملیات هایی مثل درج، حذف و به روزرسانی اطلاعات و همچنین کوئری های سبک توسط ORM انجام بشه و برای اجرای Query های سنگین یا Batch Operation (درج، حذف یا به روز رسانی تعداد زیادی رکورد در آن واحد) به صورت مستقیم از ADO.NET استفاده بشه. اما حتماً سعی کنید از ORM هایی مثل Entity Framework برای کارهاتون استفاده کنید که در صورت تغییر بانک اطلاعاتی کدهای شما به راحتی قابل به روز رسانی باشه.
ITPRO باشید و ITPRO رو به دوستانتون هم معرفی کنید
شما میتونید تو محیط ویزارد و کد نویسی (طبق سلیقه خودتون) برنامتونو به بانک متصل کنید
اما اون چیزی که هم قشنگتره و هم بیشتر پیشنهاد میشه
اتصال به بانک از طریق کد نویسیه
در مورد تکنولوژی ado.net سرچ کنید
دوست گرامی حسین احمدی،واسه چی باید اکسس رو فراموش کرد؟اکسس یک بانک اطلاعاتی سبک و برای مصارف ساده تا متوسط طراحی شده، پس نگین فراموش کنیم،برای برنامه ای که مثلا می خواد ورود و خروج ماشین رو چک کنه اکسس کافیه،نیازی نیست از بانک های حجیم و سنگین استفاده بشه،هزینه های خرید بانک رو هم باید سنجید،هزینه اکسس کجا و بانکی مثل SQL server کجا.بسته به تعداد رکورد ها و تعداد درخواست هایی که همزمان ارائه می دین باید بانک رو انتخاب کرد وگرنه اگه اینجور که شما می گین باشه که اصلا توسعه اکسس سال ها قبل رها شده بود.