عند الرغبة في غلق الأتصال مع المستخدمين مع قاعدة البيانات لتأدية وظيفة محددة يمكننا عمل التالي :
-- غلق -- ALTER DATABASE db SET SINGLE_USER WITH ROLLBACK IMMEDIATE -- إعادة -- ALTER DATABASE db SET MULTI_USER
وعند غلق الإتصال أو فتح الإتصال من جديد يتمكننا عمل التالي :
Alter Database DB_Diets Set OffLine Alter Database DB_Diets Set OnLine
ولكنني من داخل الـ Visual Basic لا يمكنني التمييز بين كل نوع من هذه الأنواع !!!
بمعني أدق ، لو عملت غلق لقاعدة البيانات عن المستخدمين غير عمل غلق الإتصال كاملاً Offline ... فكيف أتمكن من معرفة نوع الغلق ؟؟؟
-----------------------------------------
عندما حاولت معالجة الوضع من داخل الفيجوال 6 بحيث أن أجلب رقم الخطأ Err.Number ، ولكن الرقم متماثل تماماً وهو -2147217900
لكن الخلاف الوحيد في الـ Err.Description وهو كما يلي :
-2147217900: Database 'DB' is already open and can only have one user at a time. -2147217900: Database 'DB_Diets' cannot be opened because it is offline.
صراحتاً لم تعجبني الفكرة في إقتباس الـ Err.Description ، فهل هناك حل آخر ؟؟؟
منتظر مساعداتكم
السلام عليكم ورحمة الله وبركاتة