الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إنشاء نسخة مطابقة من قاعدة البيانات Database Replica

مغلق
بدأه Eng. Usama El-Mokadem في 9 يونيو 2007 · 2 رد · 2,794 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ،،،

Replica.zip

بإستخدام (MS-Access 2003)

كثيراً نحتاج إلى العمل المتوازى فى قاعدة بيانات (أى أكثر من شخص يدخل أو يعدل بيانات فى أكثر من قاعدة بيانات)، أو احياناً تحديث جزء من قاعدة البيانات من خلال قاعدة بيانات أخرى، أو عمل نسخ احتياطى ، ... الخ من هذه التطبيقات التى تحتاج لتزامن Synchronization اكثر من قاعدة بيانات لتطابق البيانات فيما بينهم.

توفر مكتبة Microsoft Jet and Replication و كذلك Microsoft DAO إمكانية عمل Database Replica، كذلك توجد آداة فى MS-Access لعمل Replica من قاعدة البيانات، وعند عمل Replica فيجب تحويل قاعدة البيانات أولاً (حيث يتم إضافة عدة جداول نظام مخفية لقاعدة البيانات لإدارة عملية الـ Replica)، وتعرف هذه القاعدة بإسم Design Master، وهى المسموح فيها بتعديل هيكل وتصميم قاعدة البيانات، وعند عمل Replica منها، فلا يسمح للنسخة بتعديل التصميم فيها، ويمكن التحكم بعدة خواص مثل جعلها للقراءة فقط، أو عدم امكانية الحذف، وأى تعديل فى تصميم قاعدة البيانات فى الـ Design Master سيظهر فى الـ Replica عند عمل مطابقة أو تزامن Synchronization.

بإستخدام MS-Access 2003، قم بعمل التالى:

  1. إنشاء قاعدة بيانات جديدة، وليكن أسمها Base.mdb، تحتوى عدة جداول مثلاً (Departments - Employees - Positions)

    post-98027-1181333555_thumb.jpg


  2. من قائمة Tools أختر Replication ثم Create Replica

    post-98027-1181333587_thumb.jpg


  3. ستظهر لك رسالة تخبرك بضرورة غلق قاعدة البيانات، أضغط Yes
  4. ستظهر لك رسالة تخبرك بعمل نسخة احتياطية (بالإمتداد bak.) من قاعدة البيانات، أضغط Yes
  5. الأن تم تحويل قاعدة البيانات الرئيسية (Base.mdb) إلى Design Master
  6. سيظهر لك صندوق حوارى لتحديد اسم قاعدة البيانات الـ Replica من Base.mdb، وتحديد بعض الخواص، أضغط موافق

    post-98027-1181333604_thumb.jpg


  7. الأن تم تحويل قاعدة البيانات Base.mdb إلى Design Master ويمكن تغير التصميم فيها، وتم إنشاء Replica منها بإسم Replica of Base.mdb ولا يمكن تغير التصميم فيها
  8. بعد ذلك سيتم فتح قاعدة البيانات Base.mdb مرة أخرى، ستلاحظ وجود رمز بجوار الجدول، يدل على أن هذا الجول سيتم التزامن معه

    post-98027-1181333629_thumb.jpg


  9. ستلاحظ إضافة عدة جداول (نظام مخفية) إلى قاعدة البيانات، ووظيفتها إدارة التزامن Synchronization
    الجداول قبل التحويل

    post-98027-1181333680_thumb.jpg


    الجداول بعد التحويل

    post-98027-1181333706_thumb.jpg


  10. ستلاحظ أيضاً عدة أعمدة (نظام مخفية) داخل الجداول، ووظيفتها إدارة التزامن Synchronization
    الجدول قبل التحويل

    post-98027-1181333750_thumb.jpg


    الجدول بعد التحويل

    post-98027-1181333769_thumb.jpg


  11. يمكنك أيضاً فتح قاعدة البيانات Replica of Base.mdb، ستلاحظ نفس الشكل، وعند محاولتك تعديل تصميم الجدول، ستظهر رسالة انه سيتم فتحه للقراءة فقط ولن يتم حفظ أى تغير
  12. يمكنك إضافة جداول جديدة سواء فى Base.mdb أو فى Replica of Base.mdb، وهذه الجداول لن يحدث لها تزامن Synchronization، أى سيتم التعامل معها على انها جداول عادية خارج نطاق الـ Replica
  13. أفتح قاعدة البيانات Base.mdb ثم أفتح الجدول Positions، وأضف حقل جديد ("مدير" مثلاً)
  14. أفتح قاعدة البيانات Replica of Base.mdb ثم أفتح الجدول Employees، وأضف حقل جديد ("على" مثلاً)
  15. من أى من القاعدتين، من قائمة Tools أختر Replication ثم Synchronize now

    post-98027-1181333639_thumb.jpg


  16. سيظهر لك صندوق حوارى أضغط OK، (أو حدد قاعدة البيانات التى تريد عمل تزامن معها من Browse قبل الضغط على OK، فى حالة وجود أكثر من Replica)
  17. ستظهر لك رسالة تخبرك بضرورة إغلاق قاعدة البيانات، أضغط Yes
  18. ستظهر لك رسالة تخبرك بنجاح التزامن، وبعدها سيتم إعادة فتح قاعدة البيانات

    post-98027-1181333653_thumb.jpg


  19. راجع البيانات فى قاعدتى البيانات ستجدهم متطابقين (الجداول فى نطاق الـ Replica)
  20. احذف أو أضف أو غير فى احدهم، أو أضف فى احدهم واحذف فى الاخر، ثم قم بعمل Synchronization، ستجد القاعدتين متطابقين
  21. أفتح قاعدة البيانات Base.mdb وقم بإنشاء Replica أخرى بإسم Replica1 of Base.mdb، وعلم على Prevent deletes، ستلاحظ أنك لن تستطيع حذف أى حقول من الـ Replica - قاعدة البيانات Replica1 of Base.mdb - لكن تستطيع فقط الإضافة والتعديل.
  22. ملحوظة: إذا كنت تريد تحويل قاعدة البيانات إلى Design Master فى أى وقت (مثلاً لم تجد Base.mdb كذلك نتيجة لنقلها لمجلد أخر)، فقم بفتح قاعدة البيانات، ثم من قائمة Tools أختر Replication ثم Recover Design Master

    post-98027-1181333719_thumb.jpg


كما يمكنك عمل Replica من خلال الكود، يجب إضافة المرجع Microsoft Jet and Replication Objects Library

post-98027-1181333668_thumb.jpg

تتيح لك دوال Replica مرونة كبيرة فى التعامل، فالدالة MakeReplicable تسمح لك بإنشاء Replica جديدة، والدالة Synchronize تسمح لك بتزامن البيانات (استيراد - تصدير - استيراد وتصدير) ويمكن استخدامها كالتالى:

	Dim dbData As New JRO.Replica
	dbData.ActiveConnection = "C:\Base.mdb"
	Call dbData.Synchronize("C:\BaseReplica.mdb", jrSyncTypeImpExp, jrSyncModeDirect)

jrSyncTypeImpExp: استيراد وتصدير

jrSyncTypeImport: استيراد

jrSyncTypeExport: تصدير

راجع: من خلال خادم ويب، إنشاء نسخة مطابقة من قاعدة البيانات Database Replica - تزامن تطابق البيانات بين عدة قواعد بيانات

شكراً

تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 9 يونيو 2007 في 18:19

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#2

بسم الله الرحمن الرحيم

بارك الله فيك اخي

شرح ولا اكمل

#3

جزاك الله خير على هذه المعلومات القيمة

هذا الموضوع مغلق.

مواضيع مشابهة