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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : مشكلة في جلب البيانات من أكسل للفورم (/showthread.php?tid=50796)



مشكلة في جلب البيانات من أكسل للفورم - سيد درويش - 15-12-24

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.


RE: مشكلة في جلب البيانات من أكسل للفورم - aljzazy - 21-12-24

الخطأ الذي يظهر يشير إلى أن مزود البيانات
كود :
Microsoft.ACE.OLEDB.12.0
غير مثبت على جهاز الكمبيوتر الخاص بك. لحل هذه المشكلة، يمكنك اتباع الخطوات التالية:
  1. تحميل وتثبيت مزود OLEDB:
  2. تحديث إعدادات الاتصال:
    • تأكد من أنك تستخدم الاتصال المناسب في الكود. إذا كنت قد قمت بتثبيت النسخة 64 بت من
      Microsoft.ACE.OLEDB.12.0
    • ، فتأكد من أن تطبيقك يعمل في بيئة 64 بت، والعكس صحيح إذا كنت قد قمت بتثبيت النسخة 32 بت.
  3. تأكد من أن الـ .NET Framework محدث:
    • تأكد من أن لديك أحدث إصدار من .NET Framework، لأن بعض الإصدارات القديمة قد تواجه مشاكل في التعامل مع مزودات OLEDB الحديثة.
بعد تثبيت مزود
كود :
Microsoft.ACE.OLEDB.12.0
بشكل صحيح، ينبغي أن تختفي هذه الرسالة عند محاولة الاتصال بقاعدة البيانات.


RE: مشكلة في جلب البيانات من أكسل للفورم - سيد درويش - 23-12-24

اخي الكريم لم يتم حل المشكلة حتى الان فنظام الويندوز 64 بت وعند تثبيت Microsoft Access Database Engine. يرفض الجهاز ويعطي رسالة بأن نسخة 32 بت مثبتة على الجهاز


RE: مشكلة في جلب البيانات من أكسل للفورم - aljzazy - 24-12-24

المشكلة التي تواجهها تتعلق بتعارض بين الإصدار 32 بت و64 بت من Microsoft Access Database Engine وبين إصدار Office المثبت على جهازك. لحل هذه المشكلة، اتبع الإرشادات التالية:

1. استخدام التثبيت في الوضع الصامت (Passive Mode)
  • عند تثبيت Microsoft Access Database Engine 64-bit على جهاز يحتوي على Office 32-bit، يمكنك تجاوز هذا التعارض باستخدام الأمر التالي في موجه الأوامر (Command Prompt):
  1. افتح موجه الأوامر كمسؤول (Run as Administrator).
  2. انتقل إلى موقع ملف التثبيت باستخدام الأمر
    cd
  3. .
  4. قم بتشغيل الأمر التالي:
    bash
    نسخ الكود
    AccessDatabaseEngine.exe /passive
  5. سيقوم هذا بتثبيت المشغل في الوضع الصامت دون التحقق من توافق Office.

2. استخدام إصدار Microsoft Access Database Engine 2016
  • قم بتنزيل الإصدار 2016 من Access Database Engine. هذا الإصدار يوفر توافقًا أفضل بين الإصدارات المختلفة. يمكنك تنزيله من الرابط التالي:
    Microsoft Access Database Engine 2016 Redistributable

3. تغيير إعدادات المشروع في Visual Studio
  • إذا كان لا بد من استخدام مشغل 32 بت بسبب إصدار Office المثبت، قم بتغيير إعدادات المشروع في Visual Studio لاستهداف المعمارية
    x86
  • بدلاً من
    Any CPU
  • أو
    x64
  • .
    الخطوات:
    1. افتح مشروعك في Visual Studio.
    2. انتقل إلى Project > Properties > Compile > Advanced Compile Options.
    3. حدد
      Target CPU
    4. على
      x86
    5. .
    6. أعد بناء المشروع.

4. استخدام نسخة مستقلة من قاعدة البيانات
  • إذا كان التثبيت لا يزال غير ممكن وتحتاج إلى استخدام Access، يمكنك التفكير في تصدير قاعدة البيانات إلى صيغة أخرى (مثل SQLite أو SQL Server Express)، التي لا تعتمد على مشغلات محددة.

5. التأكد من بيئة Office المثبتة
  • إذا لم يكن إصدار Office على جهازك ضروريًا، يمكنك إلغاء تثبيت Office 32-bit وإعادة تثبيت Office 64-bit لضمان التوافق مع مشغل Access 64-bit.

6. حل مؤقت باستخدام ملفات ODBC
  • قم بتكوين اتصال ODBC يدويًا لـ Access بدلاً من استخدام OLEDB.
    الخطوات:
    1. افتح ODBC Data Source Administrator.
    2. أضف مصدر بيانات جديد وحدد
      Microsoft Access Driver (*.mdb, *.accdb)
    3. .
    4. أشر إلى ملف قاعدة البيانات.

إذا استمرت المشكلة، شاركني رسالة الخطأ الكاملة والإعدادات الحالية لتقديم حل أدق.