منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كيفية الإغلاق التام لـقاعدة بيانات SQL - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : كيفية الإغلاق التام لـقاعدة بيانات SQL (/showthread.php?tid=42066)

الصفحات: 1 2


كيفية الإغلاق التام لـقاعدة بيانات SQL - أبو خالد الشكري - 01-08-22

يا مرحبا ويا مسهلا بكل المتابعين والمبرمجين


حقيقة أنا صادفتني مشكلة (عويصة) حاولت أستخدم فيها خبراتي ولم تنجح !

كما أني حاولت البحث في (الشبكة العنكبوتية) فلم أجد أي   تحل مشكلتي  Smile

المشكلة هي أن قاعدة بيانات برنامجي SQL فيها أوامر معينة لعمل DeAttach لقاعدة لبيانات
ولكن البرنامج لا يقوم بعمل DeAttach إذا كانت قاعدة البيانات تعمل !

 ولكن عندما أقوم بإعادة تشغيل البرنامج ، وأقوم بوضع أوامر DeAttach قبل تشغيل قاعدة البيانات فإن الأمور تكون تمام
ويتم عمل DeAttach بكل سهولة .

فالرجاء مساعدتي في الحصول على أوامر إيقاف عمل قاعدة البيانات نهائيا ؛ لأتمكن بذلك من عمل DeAttach دون أن أضطر لإعادة تشغيل البرنامج في كل مرة .

▒▓ ولكم خالص التحية والمحبة والاحترام  


RE: كيفية الإغلاق التام لـقاعدة بيانات SQL - aljzazy - 01-08-22

جرب التالي
ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE


RE: كيفية الإغلاق التام لـقاعدة بيانات SQL - أبو خالد الشكري - 01-08-22

(01-08-22, 04:05 PM)aljzazy كتب : جرب التالي
ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE


شكرا لك أخي العزيز  aljzazy على محاولتك لمساعدتي

ولكن أين أضع هذا الكود ؟

أنا حاولت أن أضعه في Button1 لكنه رفضه ووضع تحت الكود خطا أحمرًا !




RE: كيفية الإغلاق التام لـقاعدة بيانات SQL - Taha Okla - 01-08-22

الطريقة ان تخزن هذا الكود بعد التعديل في متغير نصي ليكن مثلاً (sqlString)
ثم تعطي امر للكائن الذي عرفته على انه (SqlCommand) ليقوم  بتنفيذ هذا الامر النصي. ليكن مثلاً (sqlCmnd)
فيصبح الكود :

كود :
sqlCmnd.CommandText = sqlString



RE: كيفية الإغلاق التام لـقاعدة بيانات SQL - Jounior_P - 01-08-22

اخي الفاضل :

الامر الذي ذكره الأخ aljazazy هو امر بلغة Sql ولا يمكن كتابته مباشرة في اجراء الزر ولكن يتم مثل التالي :
PHP كود :
Dim con As SqlConnection = New SqlConnection("Data Source=localhost; Integrated Security=SSPI; Initial Catalog=Database")
Dim cmd As SqlCommand

cmd 
= New SqlCommand(" ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;"con)
con.Open()
cmd.ExecuteNonQuery()
con.Close() 



RE: كيفية الإغلاق التام لـقاعدة بيانات SQL - سعود - 01-08-22

(01-08-22, 04:05 PM)aljzazy كتب : جرب التالي
ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
فعلا الكود ممتاز جدا اسندت له جملة اتصال من دون مسمى قاعدة بيانات و تم بشكل جميل.


RE: كيفية الإغلاق التام لـقاعدة بيانات SQL - أبو خالد الشكري - 01-08-22

(01-08-22, 06:31 PM)Jounior_P كتب : اخي الفاضل :

الامر الذي ذكره الأخ aljazazy هو امر بلغة Sql ولا يمكن كتابته مباشرة في اجراء الزر ولكن يتم مثل التالي :
PHP كود :
Dim con As SqlConnection = New SqlConnection("Data Source=localhost; Integrated Security=SSPI; Initial Catalog=Database")
Dim cmd As SqlCommand

cmd 
= New SqlCommand(" ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;"con)
con.Open()
cmd.ExecuteNonQuery()
con.Close() 


أشكرك شكرا جزيلا (بحجم السماء) أخي Jounior_P ، وكذلك أخي العزيز aljzazy على الكود
أنا طبعا عدلت الكود على حسب البرنامج الذي عندي
ولكن للأسف تظهر الرسالة التالي ، علمًا بأن مسار قاعدة البيانات صحيح !
إلا إذا كان هناك سبب آخر هو الذي كان سببا في إظهار رسالة الخطأ
وهذه هي رسالة الخطأ :



وهذا هو الكود الذي عدلته :
كود :
       Dim DBName As String = "D:\VB.net Test\Alwan.mdf"

       Dim con3 As SqlConnection = New SqlConnection("Data Source=" + My.Computer.Name + "; Integrated Security=SSPI; Initial Catalog= " & DBName & "")
       Dim cmd2 As SqlCommand

       cmd2 = New SqlCommand(" ALTER DATABASE [ " & DBName & " ] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;", con3)
       con3.Open()
       cmd2.ExecuteNonQuery()
       con3.Close()



RE: كيفية الإغلاق التام لـقاعدة بيانات SQL - Jounior_P - 01-08-22

أخي الفاضل :
راجع صلاحياتك على قاعدة البيانات


RE: كيفية الإغلاق التام لـقاعدة بيانات SQL - أبو خالد الشكري - 01-08-22

يعني كيف طريقة مراجعتها ؟
هل تقصدد أعدل الكود ؟
ولا إيش بالضبط ؟


RE: كيفية الإغلاق التام لـقاعدة بيانات SQL - سعود - 01-08-22

(01-08-22, 10:11 PM)أبو خالد الشكري كتب : يعني كيف طريقة مراجعتها ؟
هل تقصدد أعدل الكود ؟
ولا إيش بالضبط ؟

جرب اسناد جملة اتصال من دون قاعدة بيانات:
PHP كود :
   Private strd As String "Data Source=(local)\SQLEXPRESS;Integrated Security=True;MultipleActiveResultSets=True;"