C# “Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine” hatası

pic01

C# .NET ile hazırlanmış bir bir projenizde ACCESS veri tabanına bağlantı kurmak isterken ConnectionString = ”Provider=Microsoft.ACE.OLEDB.12.0;” + ”data source=C:\\##########.accdb;”; komutunu kullanmış olabiliriz. Bu durumda uygulamanın çalıştırılacağı sunucuda Microsoft.ACE.OLEDB.12.0 desteği bulunmuyorsa yandaki görsele benzer “Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine.” hatası alabiliriz. Bu sorun bir-iki ufak adımla çözülebilir. Öncelikle ACCESS DATABASE ENGINE kurulumu yapılmalıdır. Gerkli olan yükleme dosyasını buradan indirebilirsiniz.

02

Kurulum Sonrası aynı hatayı almaya devam ederseniz 64 bit ile çalışmalarınızı sürdürüyorsunuz demektir. O zaman projemizi x64 ile build etmeliyiz. Bunun için Solution Explorer içerisinde projemiz seçiliyken sağ tıklamayla açılan menüden Properties (Alt+Enter) seçilir. Daha sonra aşağıdaki adımlar talip edilir.

Build > Platform target: x64 seçilerek properties kapatılır.

 

03

Yine bir çözüme ulaşamadıysanız en son olarak; Üst menü den Build > Configuration Manager > Active solution platform: -> Type or select the new platform ->x64   seçeneğini seçerek açık pencereleri kapatabilirsiniz.

Artık projenizi derleyebilirsiniz. Kolay gelsin…