PDA

View Full Version : تعیین تعداد کاربر در برنامه شبکه تحت SQL



Mahdi_S_T
یک شنبه 15 آذر 1383, 21:37 عصر
فرض بفرمایید یه نرم افزار تحت شبکه SQL داریم که می خواهیم بسته به سفارش مشتری . تعداد کاربر برای برنامه مان تعریف کنیم یعنی یه مشتری برنامه 3 کاربره را می خواد و یکی دیگه 8 کاربره و دیگری تک کاربره .( تا با توجه به تعداد کاربر قیمت نرم افزار را تعیین کنیم)

حال بفرمایید چگونه میتوان این محدودیت را ایجاد کرد ؟

hps
یک شنبه 15 آذر 1383, 22:31 عصر
موقع نصب SQL Server مى‌تونى Per License رو تعیین کنى، همینطور توى تنظیم Database هم تعداد Connectionها رو مشخص کنى.

البته الان خیلى وقته که SQL Server کار نکردم، یادم رفته دقیقا چطورى مى‌شه این کار رو انجام داد، یه ذره بگردى حتما پیدا مى‌کنى.

vcldeveloper
دوشنبه 16 آذر 1383, 02:10 صبح
موقع نصب SQL Server مى‌تونى Per License رو تعیین کنى، همینطور توى تنظیم Database هم تعداد Connectionها رو مشخص کنى.

البته الان خیلى وقته که SQL Server کار نکردم، یادم رفته دقیقا چطورى مى‌شه این کار رو انجام داد، یه ذره بگردى حتما پیدا مى‌کنى.
خب، این روشهایی که گفتید همشون در Enterprise Manager انجام میشه، یعنی اگه کاربر به SQL Server دسترسی داشته باشه به راحتی می تونه این تنظیمات رو دستکاری کنه!
راه بهتری سراغ ندارید؟

hps
دوشنبه 16 آذر 1383, 10:07 صبح
سلام

دقیقا همین‌طوره. روش بهترى که مى‌شه به کار گرفت اینه که از توى برنامه کنترل کنید که چند تا Instance از برنامه (توى کل شبکه) اجرا شده، چون معمولا هر برنامه یه دونه Connection بیشتر نمى‌گیره. البته براى اجراى این روش ممکنه مجبور بشید از یه چیزى مثل Application Server استفاده کنید. چون در هر حال یکى باید بدونه که کدوم Instanceها توى شبکه اجرا شدن و Instanceهاى جدید بتونن از اون بپرسن تا اگر بیشتر از حد مجاز بود اجرا نشن.


خدانگهدار
حسین

Mahdi_S_T
چهارشنبه 18 آذر 1383, 08:52 صبح
با تشکر

آیا امکان دارده واضح تر توضیح بدهید یا مثالی اراپه کنید :flower:

hps
چهارشنبه 18 آذر 1383, 11:32 صبح
آیا امکان دارده واضح تر توضیح بدهید یا مثالی اراپه کنید

نه امکان نداره مساله خیلى مفصل‌تر از این حرف‌ها است که بخوام مثالى بزنم.


سوال: مى‌دونى Application Server یا COM+, CORBA چیه ؟

Mahdi_S_T
چهارشنبه 18 آذر 1383, 13:58 عصر
مى‌دونى Application Server یا COM+, CORBA چیه ؟

نه ؟

لطفا راه حلی برای من پیدا کنید . البته این نباشد که برم اینها رو یاد بگیرم چون فعلا وقت خالی برای مطالعه ندارم

hps
چهارشنبه 18 آذر 1383, 14:30 عصر
یه دونه Table با یه Field از نوع Integer و یه Record روى SQL Server درست کن. هر برنامه که بالا مى‌یاد یه دونه به مقدار این Field اضافه کن (UPDATE) و هر برنامه که بسته مى‌شه یه دونه از این مقدار کم کن. این مقدار تعداد برنامه‌هایى که تحت شبکه در حال اجراست رو نشون مى‌ده. قبل از اجرا با خوندن این مقدار مى‌تونى اجراى برنامه‌ات رو کنترل کنى اگه این مقدار بیشتر از حد مجاز بود برنامه‌ات اجرا نشه. این یه راه‌حل آبکى اما عملیه.

Touska
چهارشنبه 18 آذر 1383, 18:57 عصر
اگر برای دسترسی به بانک اطلاعاتی خود بتوانید تعداد کاربر محدود داشته باشید مشکل حل می شود

برای این کار لازم است در یک AdoQuery دستور زیر را اجرا نمایید

Exce SP_WHO

سپس تعداد کاربرانی که به بانکهای شما متصل شده اند را چک نمایید و آنها را KIll نمایید

یا قبل از اتصال هر کاربر این موضوع را چک نمایید

:موفق: :flower:

Mahdi_S_T
پنج شنبه 19 آذر 1383, 13:19 عصر
خیلی ممنون

هم جواب hps جالب بود :flower: و هم جواب Touska فنی ( البته باید تست کنم . اگه مشکلی بود باز مطرح می کنم ) :flower:

سیروس مقصودی
دوشنبه 10 تیر 1398, 12:32 عصر
نحوه استفاده از
Exce SP_WHO
چگونه هستش