هنگامی که سرور اسمارتلانچ را اجرا میکنید، موقع راهاندازی پیغام خطایی با این مضمون برای شما نمایش داده میشود: ".a user having more than one active session"
علت خطا
در این زمان ناشناخته است.
راهحل آن
سادهترین راه برای حل این مشکل، استفاده از آخرین نسخه پشتیبانی از بانک اطلاعات سرور است. هر بار که سرور اجرا میشود، اقدام به تهیه نسخه پشتیبانی میکند (از دیتابیس خود Backup میگیرد)، بنابراین شما باید از آخرین باری که سرور بدون مشکل شروع به کار کرده، استفاده کنید، اما این بدان معنی است که از زمانی که ایجاد نسخه پشتیبان تهیه شده است ، دادهها تغییر مییابد. این شامل تغییرات حساب کاربری و کلیه اطلاعات مالی است.
بانک اطلاعاتی سرور را میتوان در فهرست نصب سرور و "Data\DB\" یافت. نام فایل"Smartlaunch.mdb" است. همچنین در پوشه باید یک زیر پوشه "backup" باشد که شامل تعدادی از بانکهای اطلاعاتی بکآپ گرفته شده است.
برای استفاده از یکی از این موارد به جای پایگاه داده فعلی، ابتدا باید سرور SL را در صورت اجرا بودن، ببندید، سپس بانک اطلاعاتی پشتیبان مورد نظر را که از پوشه "backup" انتخاب نمودهاید در "Data\DB\" کپی کرده و آن را به "Smartlaunch.mdb" تغییر دهید. درنظر داشته باشید که باید فایل پایگاه داده اصلی را تغییر نام داده یا حذف کنید.
حالا دوباره سرور را اجرا کنید و با فرض اینکه پایگاه داده پشتیبان قبل از شروع مسئله ایجاد شده است، همه چیز باید به حالت عادی برگردد.
راه حل پیشرفته
این راه حل نیاز به دانش و دسترسی به Microsoft Access دارد.
اگر نمی خواهید به نسخه پشتیبان بانک اطلاعاتی برگردید، میتوانید با ویرایش بانک اطلاعاتی و حذف همه دادههای مالی یوزر "خرابکار" ، این مشکل را حل کنید. این کار باعث میشود پول و زمان روی حساب وی اما فقط برای آن کاربر حذف شود.
با بستن سرور شروع کنید و بانک اطلاعات را در Access باز کنید و مطابق زیر عمل کنید:
Now create a new query and run it against the database:
SELECT UserID, COUNT(UserID) FROM FinancialSessions WHERE Active = True GROUP BY UserID HAVING COUNT(UserID) > 1
با این کار، شناسهی کاربری همه "کاربران خرابکار" (offending users) پیدا میشود. اکنون باید برای هر کاربر یافته شده، یک query دیگر را اجرا کنید، که تمام Active Sessionها را برای آن کاربر حذف کند:
DELETE FROM FinancialSessions WHERE Active = True AND UserID = xxxxxx
بعد از انجام این کار برای همه کاربران خرابکار، پایگاه داده باید تعمیر شده باشد و سرور دیگر نباید خطایی را گزارش کند.