الجزء الخامس : مشاكل وحلول تحويل - TopicsExpress



          

الجزء الخامس : مشاكل وحلول تحويل قواعد البيانات المشكلة : أواجه مشاكل في تحويل قاعدة بيانات أكسس 2.0 إن الانتقال من أكسس 2.0 إلى أكسس 2000 انتقال نوعي، لقد تم تغير العديد من المظاهر والمزايا مع تطور أكسس بحيث أن التحويل بدون مشاكل سيكون معجزة حقيقية . إن معظم المشاكل التي ستصادفها في تحويل قاعدة بيانات أكسس 2.0 إلى أكسس2000 تحصل تحت الغطاء وهي تنتج غالباً عن التطويرات في آلية أكسس وبرامجه الملحقة. يحاول أكسس أن يحقق توافق خلفي قدر الإمكان ولكن بعض التجديدات كثيرة جداً. حتى التغيرات على البرامج الأخرى تؤثر على التوافق الخلفي، على سبيل المثال، لقد تغير ما يكروسوفت فيجوال بيسك الذي يمكنك استخدامه لأتمتة المزايا في قاعدة بيانات أكسس مع الإصدارات الأخيرة. إذا تسببت إجرائية في خطأ في التحويل، فقد يكون هناك وحدة نمطية وإجرائية تستخدمان الاسم نفسه في قاعدة بيانات أكسس2.0 في أكسس 2.0 لم يكن ذلك يسبب مشكلة ولكن في أكسس 97 وما بعده، يجب أن تمتلك الإجرائيات والوحدات النمطية أسماء مختلفة. إذا كنت تواجه مشاكل في تحويل عناصر التحكم المخصصة وحصلت على خطأ وصلة، فإن أكسس يحاول تحويل الإصدارات 16-بت لعناصر تحكم أكتيف إكس (OLEمخصصة) إلى الإصدار 32_بت. ولكن هذه العناصر ليست مسجلة في نظامك. إذا أضفت ملفات 16_بت إلى نظامك وكانت الإصدارات 32-بت مسجلة، سيحاول أكسس تحويلها إلى الأصدارات 32-بت . فيما يلي حلول لهذه المشاكل التي تصادفها في التحويل . حل المشكلة : 1- إذا واجهت مشاكل في تحويل قاعدة بيانات أكسس 2.0 لديك، راجع أسماء الإجرائيات والوحدات النمطية. دقق الوحدات النمطية التي تحمل الأسماء نفسها مثل الإجرائيات. إذا كانت هذه الأسماء متكررة أعد تسمية الوحدة النمطية أو اإجرائية. 2- غيّر كل المراجع إلى الإجرائية أو الوحدة النمطية التي أعدت تسميتها في خاصة الحدث في نموذج أو تقرير. إذا كانت عناصر تحكم أكتيف إكس هي المشكلة، بعد تحويل قاعدة بيانات 2.0 افتح قاعدة بيانات أكسس 2000 واتبع هذه الخطوات: 1- أضف ملف عنصر التحكم إلى قرصك الصلب. 2- على القائمة Tools، انقر ActiveX Controls. 3- في مربع الحوار ActiveX Controls انقر Register. 4- في المربع Add ActiveX control، حدّد موقع المسار إلى عنصر التحكم الذي تريد تسجيله. 5- حدّد عنصر التحكم، ثم انقر OK. 6- في مربع الحوار ActiveX Controls، انقر Close. إرشادات التحويل الآخرى: عندما تحول قاعدة بيانات أكسس2.0 إلى أكسس2000، تذكر دائماً هذه المشاكل. إحداها مرتبطة بالاستعلامات المبنية في أكسس97 أو الإصدارات السابقة التي تعتمد على معيار وقت وتاريخ. يمكن أن تؤدي هذه الاستعلامات إلى توليد نتائج خاطئة بسبب التوافق مع Y2K المبيت في أكسس 2000. يتم تحويل التواريخ التي أدخلته في الإصدارات السابقة لأكسس باستخدام قيم سنوات من خانتين، إلى قيم سنوات مؤلفة من أربع خانات في أكسس2000. تبعاً للقيمة، يتم افتراض القرن. يتزايد التاريخ المستخدم لتحديد القرن بمقدار واحد كل عام. لمعالجة هذه المشكلة، عدل معايير الاستعلام لتحديد قيمة سنة بأربع خانات. في أكسس 2.0، يمكنك استخدام الخاصة Format لعرض قيم مختلفة من أجل السلاسل Nul والسلاسل بطول 0.بعد تحويل قاعدة البيانات إلى أكسس2000، تحتاج لاتباع طريقة مختلفة. يمكنك تصحيح خاصة Format خاطئة تفشل في تمييز القيم Null عن السلاسل بطول صفر بإضافة عنصر تحكم مربع نص جديد إلى النموذج أو التقرير. بعد ذلك، أدخل تعبير باستخدام الدالةIIf مع الدالة IsNull في الخاصة Control Source لمربع النص. على سبيل المثال، يمكنك استخدام التعبير(=IIF(IsNull[middleInitial],"NMI",[MiddleInitial] لاختبار وجود أو غياب النص في الحقل MiddleInitial. تقوم الدالة IsNull باختبار القيمة في الحقل MiddleInitial وتعيد Yes إذا كانت فارغة أو No إذا كان الحقل يحتوي على أحرف. بعد ذلك تأتي الدالة IIF وتستخدم نتيجة الدالة IsNull لعرض الأحرف NMI إذا كان الحقل MiddleInitial فارغاً أو الأحرف الوسطى إذا كان الحقل يحتوي على قيمة. المشكلة : لايتم تصريف الشيفـرة لدي كل إصدار جديد لأكسس يستفيد من الإصدار الأخير والتراكيب النحوية للغة فيجوال بيسك.لقد تم ترحيل اللغة من أكسس بيسك في أكسس 2.0 إلى فيجوال بيسك من أجل التطبيقات في أكسس 95 وأكسس 97 إلى لغة فيجوال بيسك الكاملة في أكسس2000. على الرغم من أن مايكروسوفت تعمل بجد لتحقق توافق خلفي، فقد تسبب بعض التغييرات أخطاء تصريف. يمكن أن تؤدي هذه الأخطاء لمقاطعة أو إفشال عملية تحويل قاعدة بيانات. عندما تحاول تشغيل قاعدة بيانات حولتها إلى أكسس 2000، قد ترى رسالة خطأ بدون أي معلومات موضحة حول سبب الخطأ. إن هذا لا يساعد كثيراً ولكن على الأقل ستعرف بأنه سيتوجب عليك إعادة تصريف الشيفرة وتصحيح كل خطأ عندما يظهر. إذا كنت تحول من أكسس 2.0، فقد تحصل على رسالة خطأ تصريف تدل على وجود أخطاء تراكيب نحوية في الإصدار الأصلي. أو قد تكون قد استخدمت كلمة لتعريف حقل، عنصر تحكم أو كائن قاعدة بيانات تشكل كلمة أساسية محجوزة في إصدار أكسس الأخير. على سبيل المثال، إذا كنت قد استخدمت AddressOf، Decimal، Implements، RaiseEvent، أو WithEvents في البرنامج الذي تم إنشاؤه في أكسس2.0، فلن يتم تصريف شيفرة فيجوال بيسك لديك في أكسس 2000. هناك سبب آخر لأخطاء التصريف وهو فشل دعم الكائنات، المناهج والخصائص القديمة. إذا كنت تريد الحفاظ على قاعدة بيانات الإصدار السابق، فيجب أن تنشئ مرجع مكتبة الكائن التي تقدم مرجع متقاطع بين الإصدارين. حل المشكلة : 1- لإعادة تصريف الشيفرة في قاعدة بيانات أكس 2000، افتح أي وحدة نمطية في قاعدة بياناتك في معاينة التصميم. 2- انقر Cmopile على القائمة Debug. 3- عندما يتم كشف خطأ، يوقف محرر فيجوال بيسك التصرف، يميز العبارة الخطأ ويعرض مربع حوار مع إشارة للخطأ في العبارة. يدل خطأ التصريف الذي يظهر في الشكل على رجوع إلى متغيرة لم يتم تعريفها. كان المقصود هو تعريف اسم العنوان في عبارة Dim كـ lblFix. ولكن في العبارة Set، تمت كتابة اسم المتغيرة بشكل خاطئ. 4- انقر OK. 5- صحح الخطأ، ثم انقر زر شريط الأدوات Continue للاستمرار في مراجعة الشيفرة. 6- إذا كان لديك أخطاء في التراكيب النحوية في شيفرة الإصدار 2.0، تحتاج للعودة إلى قاعدة البيانات الإصدار السابق، تصحيح أخطاء التراكيب النحوية، تصريف كل الوحدات النمطية في قاعدة بيانات2.0 والتحويل من جديد لإلى أكسس 2000. 7- إذا كنت قد استخدمت كلمة محجوزة كمعّرف، غيّر المعرف بحيث لا يشكل تضارب مع الكلمة الأساسية المحجوزة في فيجوال بيسك. 8- لإنشاء مرجع إلى مكتبة كائن أخرى، انقر References في القائمة Tools،حدّد Microsoft DAO 2.5/3.5 استخدام المراجع إلى مكتبات: Compatibility Library وانقر OK. إذا كنت تريد التأكد من أن برنامجك يستخدم فقط كائنات أكسس 2000 ومناهجه وخصائصه، امسح 2.5/3.5Compatibility Library في مربع الحوار References. بعد ذلك أعد تصريف كل الوحدات النمطية في البرنامج. لن تعتمد الشيفرة بعد الآن على مكتبة التوافق الخلفي. لكن ترى تماماً أي الكائنات، المناهج والخصائص ليس مضمناً بعد الآن في DAO3.6، الإصدار الذي يستخدمه أكسس 2000 والاستبدالات المنصوح بها من أجلها، افتح موضوع مساعدة أكسس 2000، "توافق مكتبة الكائن DAO". المشكلة : أرى رسالة تدل على فقدان مكتبة كائن إن المكتبات التي يحتاجها أكسس لأداء عمله لا تشبه المكتبة العامة للكتب حيث تقوم بوظائفك. ولكنها ليست مختلفة إلى هذا الحد. حتى ولو كانت لا تستخدم نظام Dewey العشري لتنظيم كل شيء، فإن هذه المكتبات مرتبطة بشكل دقيق بحيث أن أكسس يستطيع إيجاد مايحتاجه بسرعة. إن ملفات المكتبات التي يدعوها الخبراء بمكتبات الربط الديناميكي(أو DLLs)، أساسية لتشغيل شيفرة فيجوال بسيك التي يتم استخدامها لأتمتة وتحسين قاعدة بيانات أكسس. يستطيع فيجوال بيسك أتمتة كل شيء تقريباً في برنامج أكسس. على سبيل المثال، يستطيع عرض شاشة بدء تشغيل منفردة، يمكنك فتح نموذج، معاينة تقرير أو التسجيل على موقع ويب منها أي شيء تريده. يخزن أكسس 2000 ملفات المكتبات في دليل مختلف عن الإصدارات السابقة لأكسس. لذلك بالنسبة لقواعد البيانات التي تم تحويلها من الإصدارات السابقة، يتوجب عليك أن تعطي أكسس خريطة طريق إلى موقع المكتبات بتعيين المرجع. الأمر نفسه صحيح من أجل قواعد البيانات الجديدة التي تم إنشاؤها في أكسس 2000 وتحويلها إلى الإصدارات السابقة، عندما تحول قواعد البيانات إلى الإصدار 97، فإن مراجع الكائن اللازمة تكون غالباً ضائعة. إذا كانت كذلك، فسترى رسالة تقول بأنه على الأقل إحدى مكتبات كائن أكسس 97 مفقودة. حل المشكلة : 1- في تحويل قاعدة بيانات أكسس 2000 إلى أكسس 97، عندما ترى رسالة الخطأ التي تشير إلى مكتبات مفقودة، انقر OK. 2- افتح قاعدة البيانات في 97. 3- في إطار قاعدة البيانات ، حدّد أي نموذج أو كائن آخر يمكن أن يحتوي على وحدة فئة. 4- انقر الزرCode لفتح محرر فيجوال بيسك. 5- على القائمة Tools، انقر References. 6- في المربع Available References، امسح مربعات التدقيق بجوار المراجع التي تم تعليمها كـ MISSING. إن مسح المراجع المفقودة يرغم أكسس على البحث في دليل مختلف من أجل ملفات المكتبة. 7- دقق Microsoft DAO3.5 Object Library. 8- انقر OK. بعض مشاكل 2000 الأخرى مقابل 97: عندما تحول قاعدة البيانات إلى أكسس 97، ستضيع أي ميزة أو وظيفة جديدة في أكسس 2000. على سبيل المثال، ستفقد كل الارتباطات إلى صفحات الوصول إلى البيانات، الجديدة في أكسس2000. يستخدم أكسس 2000 نظام شيفرة مختلف قليلاً من أجل الأحرف نظام يونيكود عوضاً عن المجموعة ANSI المرقمة المؤلفة من 256 حرفاً. بالنتيجة، قد لا يتم تحويل بعض الأحرف بشكل صحيح إلى الإصدار 97، فيجب أن تمتلك مجموعتي السماحيات Open/Run و Open Exclusive من أجل قاعدة البيانات ومجموعة السماحيات Read Design من أجل كل الجدوال، الاستعلامات، النماذج والكائنات الأخرى في قاعدة البيانات. بعد تحويل قاعدة البيانات إلى أكسس97، تحتاج لفتحها وتطبيق أمن مستوى المستخدم لاسترجاع أمن النظام. لتعيين سماحية، انقر Security على القائمة Tools ثم انقر User and Group Permission. من الخيارات من أجل قاعدة البيانات وخيارات قاعدة البيانات في مربع الحوار User and Group Permission . المشكلة : أرى رسالة خطأ حول عدم وجود ذاكرة أو وجود الكثير من الفهارس إن إصدار فيجوال بيسك المستخدم بواسطة أكسس 2000 أضخم من الإصدارات السابقة. لن يسمح لك باكثر من 1082 وحدة نمطية في قاعدة البيانات لديك. يحتوي كل نموذج وتقرير على خاصة Has Module يتم تعينها إلى Yes بشكل افتراضي، سواء تم ربط شيفرة معه أم لا. يتم عد كل هذه القيم Yes للمقارنة مع الحد المسموح به. لن تصل إلى هذا الحد إلا عندما تعمل على قواعد بيانات كبيرة فقط. إذا حاولت تحويل قاعدة بيانات مع أكثر من 1082 وحدة نمطية، فسيعرض أكسس رسالة تقول بأن هناك نقص في الذاكرة. إن العلاج الواضح هو بتقليص كل هذه النماذج والتقارير. ولكن يتوجب عليك مواجهة بعض المتاعب لإعادة إنشاءها في الإصدار الجديد. هنالك طريقة أفضل لحل هذه المشكلة. يمتلك أكسس 2000 أيضاً حدوداً بالنسبة لعدد الفهارس التي يتم تضمينها مع أي جدول منفرد. إذا رأيت رسالة تقول بأن هناك الكثير من الفهارس، فهناك على الأقل جدول واحد في قاعدة بيانات أكسس 2.0 يتجاوز الحد 32. يقوم أكسس 2.0 بفهرسة كل حقول الربط المتضمنة في علاقات جدول تلقائياً في كل حقل جدول المفتاح الأساسي وجدول المفتاح الغريب. إذا كان لديك جدول واحد يدخل في الكثير من العلاقات، يمكنك بسهولة تجاوز حد الفهرسة 32. فيما يلي حلولاً لهذه المشاكل. حل المشكلة : 1- إذا استقبلت خطأ نقص في الذاكرة، افتح قاعدة البيانات التي تحاول تحويلها في الإصدار السابق لأكسس. 2- احذف النماذج والتقارير غير اللازمة ربما بعض الإصدارات التجريبية الأولى التي تركتها مع الإصدارات اللاحقة. 3- حاول تحويل قاعدة البيانات من جديد. إذا لم يعمل ذلك، يمكنك تطبيق تقسيم تطبيقك إلى قاعدتي بيانات منفصلتين ثم إجراء التحويل. اتبع هذه الخطوات : 1- في أكسس2.0 انقر New على القائمة File لإنشاء قاعدة بيانات فارغة. 2- على القائمة File، انقر Import واستورد كل الجدوال والاستعلامات من قاعدة البيانات التي تحولها إلى قاعدة بيانات جديدة. 3- استورد بعض النماذج والتقارير التي ترتبط بالنشاط نفسه مثل علاقات الزبائن أو معلومات المزود؟ 4- أنشئ قاعدة بيانات جديدة فارغة واستورد كل كائنات الجدوال والاستعلامات إليها. 5- استورد النماذج الباقية والتقارير الباقية إلى قاعدة البيانات هذه. 6- حول كل من قاعدتي البيانات الجديدتين إلى أكسس 2000. 7- في أكسس 2000 افتح إحدى قاعدتي البيانات الجديدتين. 8- على القائمة File، انقر Get External ثم انقر تحويل. 9- حدّد موضع قاعدة البيانات المحولة الثانية وانقر Import. حدّد النماذج والتقارير والكائنات الأخرى في مربع الحوار Import Object وانقر OK. لمعالجة مشكلة الفهارس الزائدة، اتبع هذه الخطوات: 1- افتح قاعدة بيانات أكسس 2.0 التي تحاول تحويلها. 2- انقر الزر Relationships وابحث عن جدول تم استحضاره في عدة علاقات. 3- احذف بعض خطوط العلاقة من ذلك الجدول. 4- في إطار قاعدة البيانات، حدّد أحد الجدوال ولكن ابقَ مرتبطاً مع الجدول الذي عملت معه في الخطوة 3. افتح الجدول في معاينة التصميم. 5- في المنطقة Field Properties لإطار تصميم الجدول، عين خاصية الفهرسة من أجل عدة حقول إلى No. 6- أغلق قاعدة البيانات وحولها ثانيةً. كرر العملية إذا لم يؤدي عملك مع الجدول الأول إلى المشكلة. 7- بعد تحويل قاعدة بيانات أكسس 2.0 بنجاح إلى أكسس 2000، أقم العلاقات والفهارس ثانيةً في قاعدة البيانات الجديدة. حلول سريعة هل تمتلك تقاريرك في أكسس 2000 هوامش خاطئة؟ الحل : عند تبديل تقرير إلى أكسس 2000، تلقائياً إلى الهامش الأدنى من أجل طابعتك الإفتراضية 0 1- أفتح التقرير في أكسس 2000 0 2- على القائمة File أنقر Pagesetup0 3- قلص عرض العمود والتباعد بحيث لا يتجاوز العرض عرص الصفحة الكلي 0 هل فشل زر أمر بالعمل بشكل صحيح ؟ الحل : تم إنشاء زر الأمر بواسطة شيفرة فيجوال بيسك قديمة 0 1- بعد تحويل قاعدة البيانات، احذف زر الأمر من النموذج 0 2- أعد إنشاء الزر باستخدام المعالج Wizard Command Button 0 هل يفشل التحويل بسبب خصائص حقل غير صالح؟ الحل : يتم تعين الخاصية Fild Size للحقل Number إلى Decimal0 1-افتح الجدول مع خاصية غير الصالح في معاينة التصميم 0 2-حدد حقل الرقم وغير الخاصية Fild Size إلى Single أو Duoble0 الى هنا نصل الى ختام هذا الدرس وننتقل الى الجزء السادس الخاص بمشاكل وحلول التخطيطات والرسوم فبالهناء والشفاء اختكم المخلصة زهره
Posted on: Sun, 22 Sep 2013 23:00:14 +0000

Trending Topics



Recently Viewed Topics




© 2015