Merhabalar, bu dersimde Microsoft Jet OLEDB 4 0 Sağlayıcısı Yerel Makine Hatası Çözümü konusunu paylaşmak istiyorum. Yakın zamanda bir excelden veri okuma uygulamasında yaşadığım bir sorundu. Bir 64 bit windows 10 sisteminde kurulu olan 32 bit Office 2010 ‘nun xls uzantılı dosyasını okurken bu hatayı aldım.
Microsoft Jet OLEDB 4 0 Sağlayıcısı Yerel Makine Hatası Çözümü
Giriş kısmında da belirttiğim gibi bu hatayı, 64 bit Windows 10 sistemine kurulumuş 32 Bit Office 2010 uygulamasına bağlı xls uzantılı bir dosyayı okumak isterken aldım. Bu hatanın çözümünün bir kaç yolu mevcuttur.
Bu hatayı çözmenin ilk yolu ki bende yapılması gerekeni 64 bit Office 2010 kurulmasıdır. Ancak bir sebepten ötürü 64 bitlik Office 2010 kuramıyorsanız yapılacak tek şey projeniniz Target Platfotm özelliğini 32 bit olarak değiştirmektir.
Visual Studio’yu açalım ve Solution Explorer kısmından projemizin üzerine gelip sağ tık yaparak özellikler sayfasını açalım.
Properties sayfasını açtıktan sonra Build sekmesine gelelim.
Build sekmesinde geldikten sonra Target Platform özelliğini x86 olarak değiştirelim.
Projemizi tekrar Build ettikten sonra çalıştırdığımızda bu sorunun giderildiğini göreceksiniz.
Bu sorun sadece Excel’den veri okuma işlemlerinde gerçekleşmediğini de bilmemiz gerekir. Aynı şekilde Projemizin Target Platform özelliği Any CPU yada x64 iken, 32 bit Office uygulamasının Access Database kullanmak istersek de bu hatayı alabiliriz.
Aynı şekilde projemiz x86 iken 64 bit Excel yada Access Database’ e bağlanmak istersek da buna benzer bir hata alabiliriz.
Microsoft.Jet.OLEDB.4.0, XLS uzantlı Excel dosyalarına bağlanmak istersek kullanacağımız Connection String Provider tanımlamasıdır.
Microsoft.ACE.OLEDB.12.0 ise XLSX uzantılı Excel dosyalarına bağlanmak istersek Connection String Provider tanımlamasıdır.
Bu hatayı yukarıda anlattığım yollardan birini uygulayarak rahatlıkla çözebilirsiniz arkadaşlar. Benim kullandığım çözüm yolum projemin Target Platform özelliğini değiştirmekti çünkü bilgisayardaki bir program 32 bit office kurulu olmadan düzgün çalışmıyordu. Bu sebeple mecburen projemi 32 bit’e çekmek zorunda kaldım.
Bahsettiğim benzer hatalar bu iki tanımlamadan dolayı çıkabilmektedir.
Bu yazımda bu kadardı arkadaşlar.
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.
C# Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…
Sağlıcakla ve takipte kalın.