دسته بندی ها
21:03 1399/11/02

دلیل خطای An OLE DB Provider was not specified in the ConnectionString. An example would be, Provider=SQLOLEDB چیست

مشخصات سوال کننده :
کاربر : hamdola     امتیاز کاربر : 121     رتبه کاربر : 12
دسته بندی : سی شارپ WPF Access

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3143
هوش مصنوعی

پاسخ هوش مصنوعی

خطای "An OLE DB Provider was not specified in the ConnectionString" به این معناست که رشته اتصال (Connection String) به درستی تنظیم نشده یا OLE DB Provider مناسب برای دسترسی به پایگاه داده مشخص نشده است.

با توجه به کدی که ارایه داده اید، به نظر می رسد که از یک Provider معتبر استفاده می کنید، اما ممکن است چند نکته وجود داشته باشد که باید آنها را بررسی کنید:

  • اطمینان حاصل کنید که Microsoft Access Database Engine (ACE) بر روی سیستم شما نصب شده باشد. اگر نصب نیست، می توانید آن را از وبسایت مایکروسافت دانلود کنید.
  • اگر سیستم عامل شما 64 بیتی است، مطمین شوید که نسخه ی مناسب ACE (64 بیتی) را نصب کرده اید.
  • ممکن است نیاز باشد که رشته ی اتصال خود را با نگاهی به خطاهای دیگر کاهش دهید و آن را به شکل زیر ساده کنید:
public static string ConnectToAccess()
{
    string connection = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
                Directory.GetCurrentDirectory() + "/accessdb_portableaccounting/portableaccounting.accdb;";
    return connection;
}

در صورت استفاده از رمز عبور برای پایگاه داده، می توانید آن را به انتهای رشته اتصال اضافه کنید، اما ابتدا اطمینان حاصل کنید که بدون آن اولین بار امتحان کنید.

پس از انجام تغییرات و اطمینان از نصب ACE، دوباره سعی کنید برنامه را اجرا کنید. اگر هنوز با خطا مواجه شدید، مطمین شوید که مسیر پایگاه داده به درستی مشخص شده است.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 21:11 1399/11/02

با توجه به خطایی که دارید خطا در قسمت Provider در کانکشن استرینگ هست. همون طوری که در خود خطا هم گفته شده در قسمت Provider به جای Microsoft.ACE.OLEDB.12.0 قرار بدید SQLOLEDB

اما اگر احیانا خطای شما رفع نشد، میتونه از نسخه اکسس شما هم باشه چون شما در قسمت Provider نوشتید Microsoft.ACE.OLEDB.12.0 که مربوط به نسخه 12 اکسس یا همون اکسس 2007 هست. شما باید مطمئن باشید که نسخه Access runtime Engine رو به درستی و مربوط به ورژن 12 نصب کردید. اگر احیانا نسخه جدیدتری نصب کردید باید شما 12 رو به شماره های بالاتر تغییر بدید. (Access runtime engine)

به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود