خطأ عند برمجة تطبيقات قواعد بيانات أكسس على وندوز64بت

imageفي الفترة الماضية قمت بشراء جهاز كمبيوتر محمودل جديد من شركة Toshiba موديل Satellite L635 وبما أنه يحمل ذاكرة 4GB ونظام تشغيل Windows 7 Home Premium 64Bit، وذلك للإستفادة القصوى من كامل مساحة الذاكرة وإدارة أفضل لقدرات النظام، بالإضافة إلى الترخيص الرسمي لنسخة الوندوز، مع أنني لا أحب نسخة Home بسبب عدم إحتوائها على العديد من المميزات الخاصة بالشركات مثل الدخول على Domain والتشفير المشترك للملفات.

 

كما قمت بتثبيت نسخة Visual Studio 2010 Ultimate بالطبع لمتابعة تطوير تطبيقاتي وإلى جانبها نسخة SQL Server 2008 R2 Express، وجرت الأمور بسهولة وخلت من المشاكل الكبيرة، لكنني لاحظت أن هناك مشكلة ظهرت تطوير التطبيقات الصغيرة المعتمدة على قواعد بيانات Access، فهذه التطبيقات لم تعد تعمل في طور البرمجة تحت بيئة VS2010 وبلغة C Sharp، وتظهر رسالة الخطأ التالية عندما يقوم التطبيق بمحاولة الربط مع قاعدة البيانات:

The ‘Microsoft.Jet.OLEDB.4.0’ provider is not registered on the local machine

image

قمت بالبحث عن سبب المشكلة وتفاجأت عندما عرفت السبب، السبب هو أن شركة Microsoft لم تقم بإصدار محرك (Microsoft.Jet.OLEDB.4.0) لإصدارة 64Bit من الوندوز!

ولحل هذه المشكلة يمكن إختيار أحد الحلين التاليين:

  1. تركيب محرك (Microsoft.Jet.OLEDB.4.0) الخاص بنسخة وندوز32 بت على جهازك وندوز64 بت.
  2. تغيير خصائص برنامجك ليكون موجهاً للوندوز 32 بت فقط (سيعمل كذلك على وندوز64 بنجاح لكن في طور 32 بت)، ويمكن تطبيق هذا الحل (على بيئة Visual Studio 2010) كالتالي:

imageالذهاب إلى خصائص البرنامج (Properties) وإختيار البند (Build) وإختيار القيمة (x86) من البند (Platform target)، وسيتم تخصيص برنامجك للعمل في طور 32 بت، كما يمكن تشغيله على وندوز 64 بت لكن بإمكانيات وندوز 32 بت (كإستغلال حد معين من الذاكرة لايمكن تجاوزه)، وبالطبع هذا الحل أفضل إذا كنت متأكداً أن عميلك سيستخدم وندوز 32 بت (والغالبية العظمى حالياً من المستخدمين في ليبيا يستخدمون وندوز 32 بت الا الذين يعملون على أجهزة حديثة محمل عليها وندوز 32 بت مسبقاً وبذاكرة 4GB فأكثر).

وبالمناسبة فإن شركة Microsoft في طريقها لإعتماد وندوز بمعمارية 64Bit فقط في المستقبل، وذلك لأن معمارية 32Bit لاتستفيد الإستفادة المثلى من عتاد الأجهزة الحديثة المتطورة (كسعة الذاكرة 4GB فأكثر وتعدد المعالجات الداخلية في المعالج الواحد).

روابط خارجية أخرى:

This entry was posted in C#, Memory, Programming, VB.NET, Windows7 and tagged , , , . Bookmark the permalink.

2 Responses to خطأ عند برمجة تطبيقات قواعد بيانات أكسس على وندوز64بت

  1. عليا says:

    لماذا لا تشتغل ليبيانا نت على لابتوب توشيبا بنظام 64 بت أي نفس نوع كومبيوترك

    • Tarek Siala says:

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