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

هل يمكن وكيف تحديث قاعدة بيانات موجودة في الموقع في الويب من جهاز عميل (مستخدم للإنترنت)

مغلق
بدأه osaleh في 25 سبتمبر 2007 · 4 رد · 736 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم إخوتي الكرام إدارة ورواد هذا المنتدى الرائع

أتمنى لمن لديه الخبره الرد على هذا الموضوع

فأنا أريد تحديث قاعدة بيانات موجودة في الموقع في الويب

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

#2

السلام عليكم أرجوا أن لا يكون عدم الرد بسبب عدم معرفتكم للإجابة

حتى لو ترشدوني إلى كتاب أو موقع آخر أستطيع البحث عن هذا الموضوع

وإذا كان السؤال غير واضح أزيده توضيحاً بالتالي :

عندي قاعدة بيانات بالأكسس وتكون منها سخة عند مجموعة من المستخدمين في أماكن متباعدة

ونسخة منها في سرفر في الويب أي في موقع مستضاف في الإنترنت وتكون هذه النسخة رئيسية

والنسخ الأخرى بها بيانات مستقلة عن بعضها البعض وأرغب في دمج هذه البيانات في قاعدة البيانات الرئيسية في الويب

أي بإضافة السجلات الجديدة من كل نسخة إلى النسخة الرئيسية

الآن أريد الكود في صفحة ASP أو الطريقة التي أتخذها لإجراء الإضافة إلى النسخة الرئيسية وإمكانية تغذية النسخ الفرعية من النسخة الرئيسية

قديكون بمعنى اتصال بين النسخ الفرعية مع النسخة الرئيسية في الويب

<< والسبب الذي يدفعني لهذا هو وجود مستخدمين في أماكن بعيدة لا تربطهم شبكة داخلية وأرغب لإي استغلال الإنترنت لإجراء هذا الربط

علما أنه الإتصال بالإنترنت المتوفر لدى هؤلاء المستخمون هو الإتصال العادي DAILUP >>

فإذا كان لديكم إقتراح آخر فلا تحرمونا منه ولكم مني جزيل الشكر وأسف للإطالة

#3

أخي العزيز

أنا فهمت من سؤالك أنه لديك مجموعات مستخدمين يعملون على برنامج معين ( أو موقع ) ولكن باستخدام أكثر من قاعدة بيانات

أي بشكل اخر يمكن أنك تستخدم نسخة للشركة على الشبكة الداخلية و تريد أن ترفع نفس الموقع على الانترنت و تزود قاعدة البيانات من خلال القواعد الاخرى

اذا كان هذا هو المقصود عليك عزيزي أن تتبع ما يلي (هذا رأيي و يمكن ايجاد حلول كثيرة):

الطريقة الاولى:

1- يجب على كل قاعدة بيانات (فرعية) أن تكون على خادم مربوط بالانترنت.

2-قم ببرمجة صفحة خاصة بمدير الموقع (Administrator) و ضع فيها الكود الذي يقوم بنسخ البيانات من قواعد البيانات الفرعية الى قاعدة البيانات الرئيسية (مع مراعاة تطابق الاعمدة في قاعدة البيانات), اما بالنسبة للكود فما عليك الا تغيير (Connection String) لكي تغير قاعدة البيانات التي تستخدمها حاليا أي التي تريد أن تنفذ عليها بعض الاوامر

3-قم باضافة (Button) مثلا لتقوم بتنفيذ عملية النسخ.

3- يجب عليك تأمين الدخول الى هذه الصفحة و حمايتها

الطريقة الثانية:

1- قم باعادة تصميم و برمجة قاعدة البيانات باستخدام (SQL Server) و ضع جميع قواعد البيانات على نفس السيرفر (الأفضل أن تدمج قواعد البيانات مع بعضها في قاعدة بيانات واحدة)

2- في حالة الدمج فقد حلت المشكلة و لكن عليك تعديل (Connection String) للربط مع الـ (SQL Server)

3- اذا لم تقم بالدمج و اردت استخدام قواعد بيانات متعددة فهنا يوجد أمامك خيارين:

الخيار الاول ان تكون قواعد البيانات على نفس السيرفر و هنا يمكنك الربط بينهم بسهولة بعدت طرق احداها تغيير (Connection String)

الخيار الثاني أن تكون قواعد البيانات على اكثر من سيرفر و هنا يجب علينا الخوض بكيفية ربط أكثر من (SQL SERVER)

باستخدام (SQL SERVER 2000 OR 2005)

و هذا يعتمد على النسخة

أتمنى أن تكون لديك الان صورة واضحة

تم تعديل هذه المشاركة بواسطة nightsitter2010 في 5 نوفمبر 2007 في 09:38

#4

أخي العزيز نسيت أن أوضح لك أمرا مهما

أنصحك بعدم استخدام قواعد بيانات الاكسيس و هو لسبب بسيط جدا و مهم جدا (Security)

طبعا يوجد العديد من الاسباب لاستخدام SQL Server بدلا من Microsoft Access

لاحظ أنه عندما تقوم بفتح قاعدة البيانات (ِACCESS) فيتم انشاء ملف اخر على نفس المجلد بشكل تلقائي و عند اغلاق قاعدة البيانات يختفي هذا الملف

و هذا ما يحصل أيضا عند عمل اتصال بقاعدة البيانات و تنفيذ الاوامر عليها من خلال الموقع

و لو نظرنا بشكل اعمق فان هذا الملف الذي يتم انشاؤه على المجلد بشكل تلقائي لا يمكن أن يتم انشاؤه فعليا الا اذا كان لديك

صلاحيات الكتابة على المجلد (Write Permission) و هذا ما يحصل على الانترنت فانت هنا تعرض الموقع للخطر بفتح صلاحيات الكتابة لمستخدم الانترنت او الشبكة

و اذا قمت بمنع هذه الصلاحيات فلن يتم الاتصال بقاعدة البيانات, كما ذكرت سابقا هذه مخاطرة كبيرة فيمكن للمخترق تنفيذ الاوامر او رفع ملفات تخريبية على مجلد قاعدة البيانات.

أرجو أن تعم الفائدة على الجميع و أرجو أن تعذرونني اذا كان في كلامي شيء خاطئ فهذا اجتهاد شخصي

تم تعديل هذه المشاركة بواسطة nightsitter2010 في 5 نوفمبر 2007 في 09:47

#5

اتصور بوجود طريقتين (صياغة اخرى لكلام الاخ nightsitter2010)

باستخدام الاكسس لتتم العملية يجب تحميل قواعد البيانات الفرعية الى السيرفر ومن ثم تقوم بعملية الدمج

او التحويل الى سيرفر مثل SQL server OR MYSQL حيث يمكن الاتصال من الاجهزة الفرعية مباشرة بقاعدة البيانات والقيام بالتعديلات

للاسف في الحالتين اذا كانت البيانات كبيرة ستواجه مشاكل كثيرة في هذا الامر وخاصة انك تتكلم عن اتصالات بطيئة

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…