سلام.
- - - - - --------------
در هنگام نوشتن پروژه های Client / Server موارد متعددی را جهت بهینه شدن عملکرد برنامه و حتی جلوگیری از هنگ کردن سیستم و .... بایستی در نظر بگیریم که عموما در پروژه های DESKTOP اهمیت چندانی ندارند و برای امثال من که پس از نوشتن چند تا پروژه ی DESKTOP ، هوس میکنند که سراغ Client / Server بروند ، میتواند مفید فایده باشد و البته حیاتی .... حالا من کم کم چیزهایی که یاد میگیرم را مینویسم ... بقیه ی اساتید که " تجربه " ی بسیاری در این زمینه دارند هم همکاری کنند تا مجموعه ی خوب و ارزشمندی گردآوری کنیم .. ان شا الله .....
------------------------------------------------------------------------

::..به حداقل رساندن تعداد اتصالات به سرور ..::
بازنگهداشتن کانکشن های غیر لازم به سرور ، اولین چیزی است که باید از آن دوری جست که هم باعث کند شدن برنامه میشود و هم منابع سرور را هدر میدهد .

::.. چه باید کرد ؟ راه اول ..::
از TDatabase استفاده کنید .
برای کل پروژه ، از یک TDatabase استفاده کنید ...

1- یک کامپوننت TDatabase بر روی فرم اصلی برنامه و یا ماژول آن قرار دهید .
2- خاصیت AliasName را به BDE Alias مربوطه تنظیم کنید .
3- خاصیت DatabaseName را به نامی تنظیم کنید که بصورت پابلیک میخواهید در کل پروژه به آن رجوع کنید .
4- وقتی از TDataset - مثل TTable , TQuery , TStoredProc - استفاده میکنید ، بجای اینکه برای آنها از BDE Alias استفاده کنید ، از DatabaseName ی که برای TDatabase انتخاب کرده بودید استفاده کنید .

اکنون وقتی یک TDataset که به روش فوق تنظیم شده باشد باز میشود ، از کانکشنی که کامپوننت TDatabase فراهم کرده استفاده میکند و لازم نیست که خودش یک کانکشن جدید ایجاد کند .

تذکر >> خاصیت KeepConnection در TDatabase بصورت پیش فرض True‌هست بنابراین با Close کردن TDatabase ، کانکشن به سرور قطع نمیشود . در عوض ، وقتی پروژه تان را ذخیره میکنید و از دلفی خارج میشوید ، وضعیت کانکشن آن ، همراه با پروژه ذخیره میشود و وقتی که دوباره پروژه را باز میکنیم ،‌ بلافاصله پسورد اتصال به دیتا از ما خواسته میشود .

::.. چه باید کرد ؟ راه دوم ..::

از طریق Control Panel ، وارد BDE Administrator‌ شوید ، یک خاصیت SQLPASSTHRU MODE داره که میتونه یکی از سه مقدار NOT SHARED , SHARED AUTOCOMMIT , SHARED NOAUTOCOMMIT را داشته باشه . اگر روی یکی از مقادیر SHARED تنظیمش کنید ، کمک میکنه که تعداد اتصالات بهینه باشه چونکه به BDE اجازه میده که کانکشن هایی که توسط برنامه ی شما ساخته میشه را بصورت SHARE کند و ....