PDA

View Full Version : جدا شدن خودکار کاربر از بانک اطلاعاتی اسکیو ال



BATIS
جمعه 04 دی 1394, 19:30 عصر
سلام به همه دوستان ، به تازگی با مشکلی در يکی از نرم افزارهای بانک اظلاعاتی مواجه شدم که واقعا" برایم مایه تعجب است ، به روش های مختلف متوصل شدم که مسئله را حل کنم ولی پس از گذشت حدود ده روز هنوز نتيجه ای نگرفتم و همه تلاشهام با شکست مواجه شده ، لذا لطفا اگر تجربه مشابهی دارید و یا اينکه ميتونید راهنمایی خاصی بکنید خیلی ممنون میشم .
مشکل از اين قراره که : پس از وارد شدن کاربر به سيستم از طريق يک کلاينت در شبکه محلی واتصال به پايگاه داده اصلی مستقر بر روی سرور بانک اطلاعاتی همه چيز بطور نرمال کار ميکنه تا اينکه اگر کاربر مربوطه مدتی (حدود بیست ثانيه يا بیشتر) از نرم افزار استفاده نکنه برنامه از بانک اطلاعاتی جدا شده و به محض مراجعه مجدد کاربر با پيغام : Login failed for user ….. روبرو ميشويم و باید دوباره نرم افزار را از نو راه اجرا کند تا بتواند با آن کار کند . ضمنا کد برنامه با Borland Delphi 7 نوشته شده و برای اتصال به اسکيو ال از ADO Connection استفاده شده است .
نکته آنکه اين اتفاق طبق جدول زیر در سيستمهایی که با ويندوز 7 کار ميکنند بیشتر رخ ميدهد وضمنا کاربران از طريق SQL Authentication به سرور وصل ميشوند و هيچگونه Orphan User هم نداريم .
تست نرم افزار در شرایط گوناگون :

http://barnamenevis.org/images/attach/jpg.gif

hamid-nic
شنبه 05 دی 1394, 08:21 صبح
سلام به همه دوستان ، به تازگی با مشکلی در يکی از نرم افزارهای بانک اظلاعاتی مواجه شدم که واقعا" برایم مایه تعجب است ، به روش های مختلف متوصل شدم که مسئله را حل کنم ولی پس از گذشت حدود ده روز هنوز نتيجه ای نگرفتم و همه تلاشهام با شکست مواجه شده ، لذا لطفا اگر تجربه مشابهی دارید و یا اينکه ميتونید راهنمایی خاصی بکنید خیلی ممنون میشم .
مشکل از اين قراره که : پس از وارد شدن کاربر به سيستم از طريق يک کلاينت در شبکه محلی واتصال به پايگاه داده اصلی مستقر بر روی سرور بانک اطلاعاتی همه چيز بطور نرمال کار ميکنه تا اينکه اگر کاربر مربوطه مدتی (حدود بیست ثانيه يا بیشتر) از نرم افزار استفاده نکنه برنامه از بانک اطلاعاتی جدا شده و به محض مراجعه مجدد کاربر با پيغام : Login failed for user ….. روبرو ميشويم و باید دوباره نرم افزار را از نو راه اجرا کند تا بتواند با آن کار کند . ضمنا کد برنامه با Borland Delphi 7 نوشته شده و برای اتصال به اسکيو ال از ADO Connection استفاده شده است .
نکته آنکه اين اتفاق طبق جدول زیر در سيستمهایی که با ويندوز 7 کار ميکنند بیشتر رخ ميدهد وضمنا کاربران از طريق SQL Authentication به سرور وصل ميشوند و هيچگونه Orphan User هم نداريم .
تست نرم افزار در شرایط گوناگون :

http://barnamenevis.org/images/attach/jpg.gif
سلام
connection timeout را تغییر دادید ؟ (پیش فرض 15)
مشکل ارتباطی ندارید که موقت قطع بشه شبکه ؟
با دستور ping سرور را رصد کنید ببینید قطعی لحظه ای دارید ؟

یوسف زالی
شنبه 05 دی 1394, 09:49 صبح
connection timeout

این که ارتباطی نداره دوست من!

خصوصیت KeppConnected از ADOConnection رو true کنید.
همون طور که دوستمون گفت ارتباط رو هم مونیتور کنید.

BATIS
شنبه 05 دی 1394, 12:19 عصر
ممنون از لطف شما بله چک کردم مشکل شبکه ای نداشتیم حتی کانکشن تایم آوت رو هم بیشتر کردم بازم نشد .

BATIS
شنبه 05 دی 1394, 16:16 عصر
Keep connection = true است مشکلی نداره . لطفا پیشنهاد دیگه ای اگه دارید بدهید ممنون .

یوسف زالی
یک شنبه 06 دی 1394, 10:20 صبح
مشکلتون عادی نیست و باید بررسی میدانی بشه.
هیچ تریگری روی کانکشن در سطح instance نگذاشتید؟
لاگین ها شمارش نمی شن؟
سیستم عاملتون پالیسی خاصی نداره؟ مثلا پولینگ کانکشن ها رو دستکاری کرده باشه؟
کلاینت های خاصی هم هستند که قطع نشن یا سر همشون میاد؟
خود برنامه تایمر یا onIdle یا چنین چیزهایی نداره؟