تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[درس فيديو] بفضل الله : فيديو+ مشروع حل مشكلة أتاتش قاعدة بيانات SQL SERVER
#1
بسم الله الرحمن الرحيم
و به نستعين
السادة الأفاضل أساتذتنا الكرام بالمنتدى المحترم و البيت العربى الموقر
زملائى الأعزاء بل أخوتى المحترمين المبرمجين و المطورين
أقدم موضوع متواضع كان و لا يزال سبب فى حيرة العديد من الزملاء
(( كيف يمكن عمل أتاتش )) لقاعدة بيانات SQL SERVER DB بالكود ..
 حيث يمكن جعل العميل أو مستخدم البرنامج و بالضغط على زر بسيط أن يقوم بذلك و تنتهى كارثة قاعدة البيانات غير مرتبط بالبرنامج
أرفق لكم مشروع به فقط سطر كود مكون من (( كلمتين )) عددا و نصا ..
 انه و بفضل الله أقوى كود لاتمام هذه العملية
بعيدا عن تحديد صلاحيات المستخدم .. بل و بعيدا عن وضع ملفات قاعدة البيانات على مسار بارتشن الـ C .. 
بل يتم وضع الملفات على فولدر برنامجك و هو الأكثر احترافية و ما كان لا يصدقه الكثيرين من الزملاء 
و أيضا شرح تفصيلى كامل للموضوع برمته و ملاحظاته و شرح الكود فى فيديو على قناتى 
تقبلوا التحية و فى انتظار أى سؤال 



الملفات المرفقة
.zip   Attach db.zip (الحجم : 76.88 ك ب / التحميلات : 79)
الرد
#2
(19-07-20, 03:08 AM)mezhakim كتب : السلام عليكم شكرا على الموضوع
في موضوع قواعد البيانات تبقى احسن طريقة  للتعامل معها  هي الطريقة البسيطة بدون برامج
وهي اخذ نسخة من نوع .bak

أخى الفاضل mezhakim
الموضوع الخاص بأحد الزملاء هنا فى القسم و الذى يواجه عدد كبير من الزملاء و الذى جعلنى أقوم بنشر هذا الموضوع كما اضطلعت عليه - ان لم أكن مخطئا - ليس مشكلة فى اجراء الاتصال بقاعدة البيانات و ليس باستخدام النسخة الاحتياطية أو اجراءها .. بل هو اتمام الارفاق لملفى قاعدة البيانات بسيرفر SQL SERVER Express لبدء التشغيل .. و يمكن اجرائه يدويا من SSMS أو Manegment Studio و لكن العميل قد يفتقر الى الخبرة فى ذلك و بالتالى يكون الحل الأمثل للمبرمج هو اتمام هذه الخطوة من داخل برنامجه بالكود ..
فى العموم تقبل تحياتى و جزاك الله خيرا على ما تقدمه لزملائك و لنا من النصح و المساعدة
الرد
#3
رغم أن الموضوع لا يخصنى ولا يهمنى إلا أنه وجب علينا شكرك لإسعاف الكثير من الأصدقاء أخى الغالى....

فجزاك الله خيرى الدارين......
الرد
#4
(19-07-20, 03:32 AM)ابو روضة كتب :
رغم أن الموضوع لا يخصنى ولا يهمنى إلا أنه وجب علينا شكرك لإسعاف الكثير من الأصدقاء أخى الغالى....

فجزاك الله خيرى الدارين......

أجمل دعاء
تسلم و لك منى التقدير
الرد
#5
جزاك الله خيرا استاذ باسر على ماتقدمه من مساعدات نسال الله ان يجعلها في ميزان حسناتك
الرد
تم الشكر بواسطة: DR.YASER
#6
السلام عليكم ورحمة الله وبركاته

اخي الكريم ياسر  
بالنسبة للاتاش  وفق ماذكرت وبعد التجربة... 
انت اخذت نسخة من قاعدة البيانات (ملفين) ووضعتهما في مجلد Debug الموجود في البرنامج ( هنا بيت القصيد ..  اذ ان الملفين لن يكونا موجودين في Sqlserver  الخاص بالعميل اصلا ) وانت تركتهما في السيكوال يعني وكأنهما موجودين في جهاز العميل مسبقا
وعند عمل اتاش يقوم SqlServer بعمل اتاش لقاعدة البيانات الموجودة في مجلد الData  الخاص ب SqlServer وليس الملفين الموجودين في مجلد Debug
وحتى يكون الامر جليا وواضحا وحتى نستفيد من هذه العملية بشكل صحيح
1- قم باخذ نسخة من قاعدة البيانات من مجلد Data في SQLserver وضعهما في مجلد Debug 
2 -الان قم بحذف الملفين من مجلد Data الخاص ب SQLserver
3-  شغل البرنامج واعمل اتاش مثلما ذكرت وشاهد النتيجة
تظهر رسالة بنجاح العملية
4 -الان نذهب الى Sqlserver نبحث عن قاعدة البيانات التي تم عمل اتاش لها (لن نجدها!!)
اي ان العملية لم تتم وهنا نعود الى المربع الاول وهو :
يجب وضع ملفي قاعدة البيانات في مجلد Data الخاص بـ SQLserver وهذا مانعرفه سابقا حتى يتم الربط
اي اننا نقوم بعملية الفصل او الوصل (Attach, Detach) ولكن من خلال برنامجنا
وجملة الاتصال يكفي ان تكون بهذا الشكل
كود :
Dim SqlCon As New SqlConnection("Data Source=.\SQLSERVER2014;AttachDBfilename = MyTest; Integrated Security = true")

الرجاء التجربة مشكورا واخبارنا بما ذكرته لك
وبارك الله فيك دمت بخير
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: ابو روضة
#7
(19-07-20, 08:55 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته

اخي الكريم ياسر  
بالنسبة للاتاش  وفق ماذكرت وبعد التجربة... 
انت اخذت نسخة من قاعدة البيانات (ملفين) ووضعتهما في مجلد Debug الموجود في البرنامج ( هنا بيت القصيد ..  اذ ان الملفين لن يكونا موجودين في Sqlserver  الخاص بالعميل اصلا ) وانت تركتهما في السيكوال يعني وكأنهما موجودين في جهاز العميل مسبقا
وعند عمل اتاش يقوم SqlServer بعمل اتاش لقاعدة البيانات الموجودة في مجلد الData  الخاص ب SqlServer وليس الملفين الموجودين في مجلد Debug
وحتى يكون الامر جليا وواضحا وحتى نستفيد من هذه العملية بشكل صحيح
1- قم باخذ نسخة من قاعدة البيانات من مجلد Data في SQLserver وضعهما في مجلد Debug 
2 -الان قم بحذف الملفين من مجلد Data الخاص ب SQLserver
3-  شغل البرنامج واعمل اتاش مثلما ذكرت وشاهد النتيجة
تظهر رسالة بنجاح العملية
4 -الان نذهب الى Sqlserver نبحث عن قاعدة البيانات التي تم عمل اتاش لها (لن نجدها!!)
اي ان العملية لم تتم وهنا نعود الى المربع الاول وهو :
يجب وضع ملفي قاعدة البيانات في مجلد Data الخاص بـ SQLserver وهذا مانعرفه سابقا حتى يتم الربط
اي اننا نقوم بعملية الفصل او الوصل (Attach, Detach) ولكن من خلال برنامجنا
وجملة الاتصال يكفي ان تكون بهذا الشكل
كود :
Dim SqlCon As New SqlConnection("Data Source=.\SQLSERVER2014;AttachDBfilename = MyTest; Integrated Security = true")

الرجاء التجربة مشكورا واخبارنا بما ذكرته لك
وبارك الله فيك دمت بخير

أخى العزيز ابراهيم .. شرف لى و سعادة بالغة أحسد نفسى عليها أن تتفضل و تضع تعليقا على موضوع لى ..ربنا ما يحرمنا منك و من ابداعاتك .. لكن لى سؤال حتى أستطيع أن أركز جيدا فى هذه النقطة :
 أنا قصدت تحديدا ان الملفات التى سيتم عمل أتاش لها ستكون تلك الموجودة فى مجلد  Debug أى مجلد البرنامج .. و بالتالى لا علاقة للأمر هنا بـ مجلد Data الخاص بـ SQLserver .. فهل هذا ما تقصده ؟؟
أرجو التوضيح
الرد
تم الشكر بواسطة: ابراهيم ايبو
#8
اخي ياسر 
افترض انني كمبرمج نسخت ملفي قاعدة البيانات ووضعتهم في البرنامج ثم ذهبت الى العميل 
ونصبت البرنامج الان جهاز العميل فيه Sqlserver ولاتوجد عنده قاعدة البيانات اليس كذلك
سأقوم بتنفيذ كود الاتاش من خلال البرنامج والمفروض كما ذكرت انت يقوم بعمل اتاش وهذ بالكود تم
شغل البرنامج والنتيجة لن يجد قاعدة البيانات لماذا لانها غير موجودة في مجلد Data العائد للـ Sqlserver في جهاز العميل وظلت محبوسة في البرنامج فقط ولا يتم التعامل معها
في العادة المتبعة هي ان نضع ملفي قاعدة البيانات في مجلد Data العائد للـ Sqlserver في جهاز العميل ثم نعمل لهما Attach سواء من البرنامج 
او من خلال Manegment Studio
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: DR.YASER
#9
(19-07-20, 09:31 PM)ابراهيم ايبو كتب : اخي ياسر 
افترض انني كمبرمج نسخت ملفي قاعدة البيانات ووضعتهم في البرنامج ثم ذهبت الى العميل 
ونصبت البرنامج الان جهاز العميل فيه Sqlserver ولاتوجد عنده قاعدة البيانات اليس كذلك
سأقوم بتنفيذ كود الاتاش من خلال البرنامج والمفروض كما ذكرت انت يقوم بعمل اتاش وهذ بالكود تم
شغل البرنامج والنتيجة لن يجد قاعدة البيانات لماذا لانها غير موجودة في مجلد Data العائد للـ Sqlserver في جهاز العميل وظلت محبوسة في البرنامج فقط ولا يتم التعامل معها
في العادة المتبعة هي ان نضع ملفي قاعدة البيانات في مجلد Data العائد للـ Sqlserver في جهاز العميل ثم نعمل لهما Attach سواء من البرنامج 
او من خلال Manegment Studio

معنى هذا أنه اذا عملت سيتب للبرنامج ثم Install على جهاز العميل و تم وضع ملفى mdf و ldf على مجلد Debug و قمت بتشغيل البرنامج فانه لن يعمل حتى أقم باضافة نفس النسختين الـ MDF و  LDF بمجلد Data الخاص بـ SQLserver ؟!!!
الرد
تم الشكر بواسطة: ابراهيم ايبو
#10
تماما اخي 
عملية الفصل والوصل  attach - Detach تتم مع قواعد البيانات الموجودة في مجلد الـ Data التابع للـ SqlServer 
فقط الاكسس يتعامل مع قاعدة البيانات اينما وجدت
مرة اخرى بارك الله فيك
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: DR.YASER


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] حل مشكلة تشغيل برنامج يعمل ب net framework 4.5 عبدالكريم برشدان 0 31 , 04:30 PM
آخر رد: عبدالكريم برشدان
  [VB.NET] حل مشكلة فتح مشروع قديم ibrahimhuseen828 2 242 , 03:43 AM
آخر رد: ibrahimhuseen828
  [سؤال] لدي مشكلة في عمل لوحة دخول مرتبطة في قاعدة بيانات اكسس مجـ متعلم ـرد 2 107 20-10-21, 08:48 PM
آخر رد: مجـ متعلم ـرد
  مشكلة في توليد arabic qr code osmana2005 6 4,392 10-10-21, 04:49 PM
آخر رد: mahtawfik
  مشكلة عند تحويل البيانات من الداتاقريدفيو الى الإكسل جيولوجي مبتدئ 3 204 09-10-21, 06:55 PM
آخر رد: ahmed4
  [VB.NET] حل مشكلة (لم يتم اغلاق الاتصال . حالة الاتصال الحالية هي مفتوح) saramustafa182 1 184 07-10-21, 11:32 AM
آخر رد: asemshahen5
  [سؤال] كيف افتح قاعة بيانات اكسس نسيت كلمة المرور بسام محمدغانم 4 220 07-10-21, 10:16 AM
آخر رد: بسام محمدغانم
  [VB.NET] حل مشكلة (لم يتم اغلاق الاتصال . حالة الاتصال الحالية هي مفتوح) saramustafa182 1 216 06-10-21, 08:33 PM
آخر رد: ابو انس
  [VB.NET] حل مشكلة (لم يتم اغلاق الاتصال . حالة الاتصال الحالية هي مفتوح) saramustafa182 0 127 06-10-21, 07:07 PM
آخر رد: saramustafa182
  [VB.NET] مشكلة تظهر عند تنصيب فيجوال ستوديو 2019 اباذر 4 3,472 04-10-21, 03:57 PM
آخر رد: Mohammed_khalil

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم