70٪ تخفیف ویژه جشنواره تابستانه توسینسو
پایان تخفیف تا:
مشاهده دوره‌ها
0

کمک به انتخاب دیتابیس مناسب برای برنامه سی شارپی

سلام به اساتید بزرگوار

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

من یه برنامه برای مدارس دارم مینویسم که برنامه ی مفصلی هست از مدیریت حضور و غیاب دانش آموزان ، ثبت موارد انضباطی تا سنجش پیشرفت تحصیلی و ...

خب دیتابیس برنامه قطعا خیلی بزرگ نخواهد بود روی همین حساب انتخاب خودم sqlite هست اما بنا به دلایلی که خدمتتون عرض می کنم لطفا توی انتخاب دیتابیس کمکم کنید ممنون

1- اگر از sqlite استفاده کنم بحث عدم نیاز به نصب در سیستم مشتری عالی هست که این یه امتیاز هست

2- sqlite فکر کنم محدودیت حجم داره درسته؟ نمیدونم چقدر هست و نمی دونم دردسر ساز میشه یا نه؟

3- sqlite توی بحث امنیت هم فکر کنم مشکل داره درسته؟ دوستان من خودم برای مدیریت رمز عبورهای ورود به برنامه یه دیتابیس sqlite جداگانه درست می کنم (یعنی جدا از دیتابیس اصلی) که اون رو encrypt می کنم با پسورد و قابل دسترس نیست این کار به نظرتون اصولی هست و البته کافی؟ یا نه قابل باز کردن هستند؟؟؟

4- *** بیشتر مدارسی که برنامه ی من نصب میشه تک کاربره هستند ولی گاها پیش اومده که نیاز به share کردن برنامه شده که در اون حالت ها من کل پوشه برنامه رو شبکه کردم و فایل اجرایی برنامه رو روی دسکتاپ سیستم های دیگه انداختم و به نوعی مشکل حل شده؟ البته موقع اجرا یه ارور داده میشه که با یه ok حل میشه و مشکلی پیش نمیاد (البته دقیق نمیدونم ارور هست یا نه) ... در کل نمیدونم این کار اصولی هست یا نه؟

(اساتید به نظرتون همون کاری که برای نوشتن کانکشن استرینگ برنامه هایی که با sql نوشته میشن رو نمیشه برای sqlite کرد یعنی یه کانکشن استرینگ کاملا متغیر درست کرد و بهش ip داد یا روش های دیگه)

این مورد رو ممنون میشم بیشتر اهمیت بدید چون برام مهمه

- اگر از sql استفاده کنم فکر کنم باید بصورت اکسپرس بنویسم تا یه خورده توی نصب پایانی روی سیستم مشتری کمتر به مشکل بخورم درسته؟ سوال اینکه خب سبک ترین sql express که میشه نصب کرد چند مگابایت هست دوستان؟

- در صورت استفاده از sql express باز امنیتش مثل sql هست ؟ در خصوص امنیت همین که ما برای دیتابیس مون پسورد بگذاریم کافی هست و دیگه نیازی به کار دیگه ای نیست؟

خب یه چند مشکل دیگه هم در خصوص دیتابیس sqlite دارم که فعلا نمی پرسم حالا اگر تصمیم بر این شد با sqlite برنامه رو بنویسم خواهم پرسید مثل مشکل نبود provider sqlite برای ویژوال 2017 بصورت رسمی (چون من از ویژوال 2017 استفاده می کنم)

ممنون از همه دوستان و اساتید عزیزی که پاسخ خواهند داد

پرسیده شده در 1396/11/08 توسط

11 پاسخ

1

البته استاد احمدی Codefirst را بنظرم بیان کرده اند چون entity framework به سه روش است

بله میشود کد نوشت

پاسخ در 1396/11/09 توسط
1

می تونید نصب کنید sql2014 را

مدل Codefirst است

تو همین سایت Codefirst سرچ کنید مقاله و فیلم و مطلب زیاده

پاسخ در 1396/11/09 توسط
1

سلام

باید دقت کنی ببینی ایا دستوراتی که نوشتی ایا در sql2005 پشتیبانی میشوند یانه

پاسخ در 1396/11/09 توسط
0

از دوستان و اساتید عزیز بابت پاسخ گویی ممنون هستم

خب در خصوص اکسس که به نظرم خیلی سرعتش پایین هست نسبت به بقیه بانک ها بنابراین اصلا بهش فکر نمی کنم

در خصوص sqlite هم الان یه مشکل دیگه دارم چون من ویژوال 2017 نصب دارم و با جستجوهای فراوان متوجه شدم که provider برای دیتابیس sqlite مخصوص ویژوال 2017 بصورت رسمی منتشر نشده هنوز ...

چون من با entity framework کار می کنم به مشکل برخوردم ... البته یک توسعه دهنده بصورت غیر رسمی یک پروایدر آماده کرده که این لینکش هست :

ًًُُSQLite Provider For VS 2017

در کل به نظرم برم سراغ sql از هر لحاظ فکر کنم بهتر باشه

خب الان یه سوال برام پیش اومده :

من الان ویژوال 2017 رو نصب دارم و همچنین sql 2017 نسخه enterprise رو نصب کردم

من الان اگر روی سیستم خودم برنامه رو طراحی کنم بعد بخوام sql express 2005 روی سیستم مشتری نصب کنم دچار مشکل میشم

نسخه 2005 رو به این دلیل گفتم که کلا 60 مگابایت هست و برای کار من حجم برنامه خیلی مهم هست

سوال آخر اینکه مشتری های من بیش از 99 درصدشون ویندوز 7 دارند خب مشکلی با sql express پیش نمیاد (همون ورژن 2005 رو میشه نصب کرد)

سپاسگزارم

پاسخ در 1396/11/09 توسط
0

از کاربر عزیز abolfazlab که لطف می کنن و پاسخ گو هستند ممنون و سپاسگزارم

خب من الان ویژوال 2017 و همچنین sql server 2017 نسخه اینترپرایز رو دارم

نیازی نیست sql رو پاک کنم و ورژن 2014 رو نصب کنم؟؟؟

یه جا توی sql server management موقع ساخت یک دیتابیس هست که میشه نسخه sql رو انتخاب کرد از اونجا میشه ورژن 2014 رو انتخاب کرد ؟؟ همون کار کافیه

و سوال آخر اینکه اون مدلی که از درون خود ویژوال دیتابیس رو میسازند چیه ؟؟ فرق میکنه با زمانیکه از درون sql server management این کار رو انجام میدیم

ببخشید زیاد سوال می کنم چون من تابحال تمام پروژه هام رو با sqlite درست کردم و در خصوص کار با sql بیگانه هستم

یک نکته رو هم فراموش کردم من در خصوص کار با orm ها به سفارش استاد عزیز آقای احمدی روش entity framework رو انتخاب کردم که میشه گفت بی نظیر و عالی هست خب الان که میخوام sql express رو انتخاب کنم باز هم میشه از این orm استفاده کرد اگر میشه یه کم راجع بهش توضیح بدید

ببخشید بابت اطاله کلام ... باز هم ممنون

پاسخ در 1396/11/09 توسط
0

سلام دوستان

من الان داشتم توی sql server management studio نگاه می کردم (نسخه 2017 رو نصب دارم) به یک نکته برخوردم == >> هنگام ساخت دیتابیس یکجا هست که میشه نسخه sql رو مشخص کرد به نام compatibility level که گزینه هایی از 2017 تا 2008 رو داره یعنی اگر من هنگام ساخت دیتابیس گزینه های پایین تر رو انتخاب کنم کافیه یا نه باید sql 2017 خودم رو پاک کنم و ورژن های پایین تر رو نصب کنم که توی خروجی گرفتن برای ویندوز های مثل ویندوز 7 به مشکل بر نخورم

(در کل میخوام جهت اطلاع خودم بدونم وگرنه تهش ورژن 2017 رو پاک می کنم و نسخه های پایین تر رو نصب می کنم)

و اما در مورد sql express هنوز یه مطلب برای من گنگ هست

از اونجایی که من همیشه با دیتابیس sqlite کار کردم هنوز با sql خیلی راه نیفتادم ... الان یه سوال برام پیش اومده من اگر بخوام نسخه express رو به کار بگیرم همه مراحل همون مراحل sql هست فقط فرقش اینه که توی connection string باید عبارت sqlexpress رو اضافه کنم ؟؟؟؟!!!!

درخصوص entity framework هم بعله مدل code first فوق العاده هست ولی من هنوز درکش نکردم و برام سخته همون database first رو انجام میدم

سپاسگزارم ...

پاسخ در 1396/11/10 توسط
1

باسلام

شما در سی شارپ می توانید با همه بانکهای اطلاعاتی (sql,mysql,oracel,...)استفاده کنید اما هم این است که برای چکار میخواهید استفاده کنیدو چه مقدار اطلاعات می خواهید ذخیره کنید

شاید با یک Access هم کار شما انجام شود

اما در حالت کلی sql2017 خود مایرکوسافت از Oracel هم جلو زده است و بهتر است از SQL2017استفاده کنید

پاسخ در 1396/11/09 توسط
0

ممنون میشم بقیه سوالات رو هم یه یه پاسخ کوتاه بدید

*************

خب من الان ویژوال 2017 و همچنین sql server 2017 نسخه اینترپرایز رو دارم

نیازی نیست sql رو پاک کنم و ورژن 2014 رو نصب کنم؟؟؟

یه جا توی sql server management موقع ساخت یک دیتابیس هست که میشه نسخه sql رو انتخاب کرد از اونجا میشه ورژن 2014 رو انتخاب کرد ؟؟ همون کار کافیه

و سوال آخر اینکه اون مدلی که از درون خود ویژوال دیتابیس رو میسازند چیه ؟؟ فرق میکنه با زمانیکه از درون sql server management این کار رو انجام میدیم

*************

پاسخ در 1396/11/09 توسط
1

سلام

الف)sql express 2014 را استفاده کن

ب)فرموده اید (کامپوننت های devxpress و dotnetbar و همچنین telerik استفاده) خیلی شلوغ نمیکنید برنامه را؟! از بین این سه تا یکی را انتخاب کنید خودم telerik استفاده میکنم و خیلی راضی هستم.

ج) stimulsoft report فوق العاده عالی است

پاسخ در 1396/11/09 توسط
0

ممنون بابت پاسخ مجددتون اما متاسفانه من دچار سردرگمی شدم

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

کاربرای من همینطور که قبلا هم گفتم مدارس هستند و اکثر سیستم های مدارس ویندوز 7 نسخه 32 بیتی دارند

خب با این اوصاف شما پیشنهاد می کنید که روی کدوم نسخه ویژوال و کدوم نسخه sql express برنامه ام رو طراحی کنم و بنویسم و همچنین دات نت ورژن چند رو انتخاب کنم

با این توضیحات اضافی که همیشه از کامپوننت های devxpress و dotnetbar و همچنین telerik استفاده می کنم و گزارش ها رو هم با stimulsoft report درست می کنم که فکر کنم اینطوری مجبور دات نت بالای 4 رو انتخاب کنم درسته؟

توضیح اضافی اینکه : الان داشتم نسخه sql express 2017 رو نگاه می کردم فقط مثل اینکه برای ویندوز های 64 بیتی هست و حتی توی سایت مایکروسافت نسخه کاملا آفلاین نداره و باید ستاپ آنلاینش رو بگیریم (مثل ویژوال استادیو 2017)

پاسخ در 1396/11/09 توسط
1

به نظر من SQL همواره بهترین گزینه است ...

به سادگی حتی express رو نصب کنید و اجازه اتصال از سیستم های مختلف رو بدین ...

پاسخ در 1396/11/09 توسط

پاسخ شما