PDA

View Full Version : سوال: دیتابیس sqlite برای این پروژه کافی هست یا خیر؟



barman.ar16
دوشنبه 06 آذر 1396, 14:45 عصر
سلام دوستان
بنده تابحال که نزدیک به 25 پروژه در حوزه آموزش و پرورش با سی شارپ نوشتم و همیشه از دیتابیس sqlite استفاده کردم (و خدا رو شکر هیچ وقت به مشکل برنخوردم)
خب علتش هم اینه بود که بیشتر جاها برنامه تک کاربره بود و نیازی به شبکه کردن نداشتم و همچینین به دلیل راه اندازی سریع کار و عدم نیاز به نصب برنامه جانبی بود

اما الان یه پروژه گرفتم که برای یه انجمن ورزشی هست و میخوام یه بانک اطلاعاتی جامع براش بنویسم به نظرتون باز هم استفاده از sqlite کار درستی هست یا خیر ؟؟؟ (برنامه قراره توی یک اداره نصب بشه که متاسفانه سرور ندارند)
البته با توجه به این توضیحاتی که میدم خدمتتون :

1- تعداد کاربرا نهایتا 2 یا 3 نفر هستش
2- تعداد اطلاعات یعنی رکوردهایی که نهایتا میخواد ذخیره بشه در جداول دیتابیس ممکنه به 500 هزار تا هم برسه و تعداد جداول هم نهایتا تا 20 جدول (البته این قضیه پیش بینی من تا چند سال آینده هست)

البته در خصوص مورد اول من یکی دوبار مجبور شدم توی مدارس در مورد برنامه های قبلیم کار رو شبکه کنم که در واقع اومدم کل پوشه برنامه رو شیر کردم و از اون ور فایل exe رو فراخوونی کردم و کار انجام شد حتی زمانیکه 2 یا 3 کاربر هم اطلاعات رو همزمان ثبت می کردن مشکلی نبود ولی فکر کنم این کار غیر اصولی باشه ...

به نظرتون اگر باز هم شد که از sqlite استفاده کنم میشه توی connectionString آدرس فایل دیتابیس رو بصورت شبکه بدم مشکلی پیش نمیاد

ممنون میشم اگر کسی اطلاعاتی داره مخصوصا بصورت تجربی در اختیار بگذاره
متشکرم

parvizwpf
دوشنبه 06 آذر 1396, 21:28 عصر
خود sql server
پیشنهاد میشود
sqlite قابلیت نگهداری امنیت ترمیم در پروژه های چند کاربره رو نداره. فردا مشکلی برای دیتا پیش بیاد سخت میشه نکه داریش کرد

barman.ar16
دوشنبه 06 آذر 1396, 23:08 عصر
همونطور که قبلا هم گفتم من همیشه از sqlite استفاده کردم

نحوه ارتباط با پایگاه sql به چه شکل هست ؟
یعنی کافیه من هر جا از sqlite استفاده می کردم به جاش از sql استفاده کنم حله؟
توی کانکشن استرینگ باید چطوری ادرس پایگاه رو بدم؟
و سوال آخر اینکه روی سیستم کاربر نیاز به نصب sql کامل که نیست درسته؟ فقط باید یه منیجر نصب بشه برای راه اندازی ؟

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

رامین مرادی
سه شنبه 07 آذر 1396, 08:41 صبح
شما یه بار نسخه اکسپرس رو، رو یکی از این دو سه تا از سیستمها نصب کنید.
هنگام تعریف کانکشن استرینگ بجای استفاده از . یا local آی پی سیستمی که sql رو روش نصب کردی میدی .همین.درمورد نحوه اتصال و کانکشن هم خیلی تو این سایت بحث شده سرچ کنید.

parvizwpf
سه شنبه 07 آذر 1396, 19:48 عصر
نحوه ارتباط : مثل همون sqlite منتها اگر در سمت سرور هست باید کانکشن استرینگ رو با آی پی بدید و سیستم های کلاینت هم اس کیو ال رو ببینند. انواع کانکشن رو میتونید یرای sql سرچ کنید.
من نمیدونم شما چطور با sqlite کوئری نوشتید اما اینکه هر جایی رو که قبلا نوشتید براحتی بتونید به sql تبدیل کنید ممکنه اینطور نباشه
سه روش معمول برای ارتباط با بانکهای اطلاعتی در دات نت هست البته برای خود دات نت نوشته شده : ADO.Net - LINQ - Entity Framework
بسته به نیاز که فکر کنم بعلت استتفاده و کوئری نویسی مستقیم شما مورد ado برای شما احتمالا راحت تره.
معمولا کانکشن چیزی شبیه این هست:
Data Source=tcp:127.2.3.4;Initial Catalog=dbase;User ID=sa;Password=password

پیشنهاد میکنم سیستم سرور رو روش sql نصب کنید و یوزر و پسورد براش بگذارید نسخه اکسپرس هم داریم که نصبش سریعتره.
شما میتونید برای اطلاعات بیشتر بیشتر سرچ کنید : c# connect to sql - crud by sql ado.net