PDA

View Full Version : علت این همه پیغام چیه؟



mmbguide
دوشنبه 04 بهمن 1395, 17:22 عصر
سلام

یه برنامه ساختم که حدود 10 کاربر تو شبکه به هم پیام میفرستند. بطور میانگین هر کاربر در روز 10 پیام ارسال میکنه. بانک اطلاعاتی Access هستش و دارای پسورد که در یک پوشه Share در یکی از کامپیوترها قرار داره. این برنامه هر 10 ثانیه بانک رو بررسی میکنه که ایا برای کاربر پیغامی وجود داره یا خیر (این برنامه برای چت نیست). فقط نمی دونم علت پیغام هایی که به دفعات ظاهر میشن چیه. لطفا راهنمایی کنید.


System.Data.OleDb.OleDbException (0x80004005): Could not use ''; file already in use.
System.Data.OleDb.OleDbException (0x80004005): Cannot open database ''. It may not be a database that your application recognizes, or the file may be corrupt.
System.Exception: Too many active users.

البته چندتا پیغام دیگه هم هست که متنشون رو کپی نکردم.
مثلا یکی از پیغام های دیگه به این معنی هست که بانک اطلاعاتی توسط Admin باز شده و اجازه دسترسی (خواندن و نوشتن) ندارید !!!!!

ممنون

mmbguide
دوشنبه 04 بهمن 1395, 17:22 عصر
آیا اگر همین برنامه ساده بخواد با استفاده از SQL انجام بشه دیگه خبری از این همه مشکل نیست؟

محمد آشتیانی
دوشنبه 04 بهمن 1395, 21:29 عصر
سلام
بخاطر اینکه بانک اطلاعاتی اکسس ، تک کاربره هست و در آن واحد فقط یک کاربر میتونه با اون کار کنه ، یعنی وقتی فایل توسط یکی از کلاینت ها باز شده ، اگر کلاینت دیگری تلاش کنه برای باز کردن اون فایل ، با خطا مواجه خواهد شد.
سوال دوم - بله Sql Server مشکل شما رو حل خواهد کرد

البته بنده فکر میکنم Sql Server برای رفع نیاز شما خیلی بزرگ هست ، مثلا یک راه خوب برای شما میتونه این باشه ، یک سرویس WCF راه بندازید که با دیتابیس شما در ارتباط هست (یک دیتابیس تک کاربره مثل اکسس یا Sqlite) و کلاینت ها برای درج پیغام جدید و یا بررسی پیغام ها با سرویس ارتباط برقرار کنن ، فکر میکنم بسیار سرویس ساده ای باشه.


موفق باشید.