0 امتیاز
با سلام. من ویندوز 8.1 دارم و فریم ورک 4.5. یه فایل اموزشی vb دارم که با فریم ورک 2 کار کرده. می خوام منم همون کارارو با فریم 2 تست کنم. میشه با اینکه 4.5 نصبه 2 رو هم نصب کنم؟البته بنده از روی تنظیمات ویندوز فریم 2 رو فعال کردم و فریم ورکمو توی بروژم2 تنظیم کردم موقع اجرای برنامه vb این خطارو میده :
Additional information: The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.
و وقتی روی 4.5 تنظیم میکنم دیگه این خطا نیست. میشه راهنماییم کنین علتش چیه. با سباس

1 پاسخ

+5 امتیاز

این مشکل زمانی به وقوع می پیوندد که کاربر از OLE DB Provider Jet یا Ace (یک کامپوننت نرم افزاری جهت برقراری ارتباط مصرف کننده OLE DB منبع داده ها میباشد ) برای دسترسی به فایلهای دیتابیس مبتنی بر Microsoft Office مانند فایلهای Excel یا Access بر روی سیستم های 64 بیتی استفاده شده باشد. در چنین شرایطی در صورتیکه کاربر از پلتفرم 64 بیتی استفاده نموده باشد، حتی اگر provider های مذکور نیز به درستی نصب شده باشند، بازهم به خطای مربوطه برخورد خواهد کرد.
مشکل مورد نظر در اینجا است که برنامه ذکر شده در هنگام کامپایل، برای پلتفرم 64 بیتی (X64 )کامپایل می شود، حال آنکه هر دو provider های مورد نظر (Jet / ACE OLEDB ) فقط دارای نسخه های پشتیبانی شده بر روی سیستم 32 بیتی هستند (x86-32 ) و پردازش های 64 بیتی نمیتوانند کامپوننت های 32 بیتی را بارگذاری نمایند بنابراین پیام خطای فوق رخ خواهد داد.
برای رفع خطاهای فوق باید برنامه مورد نظر خود را برای پلتفرم 32 بیتی کامپایل نمایید. بدین صورت که در محیط IDE (visual studio 2008-2010) قسمت تنظیمات مربوط به کامپایل و سربرگ "Build" ، پلتفرم مقصد را از حالت "Any CPU " خارج کرده و بر روی "X86" قرار دهید و سپس کامپایل نمایید.(همانند شکل زیر)


 


لازم به ذکر است مایکروسافت به همراه Office 2010 نسخه ای 64 بیتی از ACE OLE DB ، با نام Microsoft Access Database Engine عرضه کرده است که میتواند به عنوان جایگزینی مناسب برای Jet OLEDB Provider مورد استفاده قرار گیرد. برای استفاده از Provider مربوط باید ConnectionString خود راجهت اتصال بر روی “Microsoft.ACE.OLEDB.12.0 ” تنظیم نمایید.

سوال جدید

2,335 سوال

2,871 پاسخ

3,725 دیدگاه

3,916 کاربر

دسته بندی ها

...