السلام عليكم ورحمة الله وبركاته:
في تطبيق asp.net جعلت الاتصال بقاعدة البيانات في مديول عام يتم الاتصال به مرة واحدة في حال كان غير متصل، ثم يبقى الاتصال بقاعدة البيانات مفتوحاً ويستخدم عند أي طلب sql من أي صفحة في المشروع..
هذه الطريقة الأولى توفر عملية إغلاق الاتصال بقاعدة البيانات وإعادة فتحه عند كل أمر أو تحميل للصفحة..
الطريقة الثانية أن نتصل بقاعدة البيانات مباشرة قبل الطلب ثم نغلق الاتصال مباشرة بعد الطلب ورأيت أن كثيرين يوصون بهذه الطريقة لأن الsql يخزن الاتصال في البوول ثم عند طلبه من جديد يسترجعه منه وبالتالي لا يكلف وقتاً للاتصال، وعن هذا تتحدث العبارة: Open() late, Close() early يعني افتح التصال في أقرب نقطة أنت بحاجة إليه ثم أغلقه مباشرة..
It means that you should open connections as late as possible (just before querying the database is ideal), and close them as soon as you're done with them (ideally just after querying)
الآن عندي صفحة تطلب طلب الsql من أكثر من قاعدة بيانات بحيث أن المستخدم يطلب مثلاً اعرض سجلات من قاعدة بيانات كذا (الكل بنفس الصيغة ولكن البيانات فيها مختلفة)؛ فتقوم الصفحة بالاتصال بهذه القاعدة واستدعاء الطلب وإعادة النتيجة إلى المستخدم..
في هذه الحالة أنا مضطر لاستخدام الطريقة الثانية من الاتصال لأنه في كل مرة ستتصل الصفحة بقاعدة بيانات ربما تكون مختلفة عن سابقتها..
أنا لم أجرب هذه الطريقة، أريد توجيهكم ونصيحتكم حول هذا الأمر؟
جزاكم الله خيراً
علماً أنني أتصل ب SQL Server 2008..
