Mustafa ÖZCAN - Kişisel Web Sitesi

Microsoft.Jet.OLEDB.4.0 provider is not registered hatası çözümü

mustafaozcan - 28.02.2009 12:52:00
Microsoft.Jet.OLEDB.4.0 provider is not registered hatası çözümü

Kullandığınız işletim sistemi 64 bit ise ve siz Access yada Excel e bağlanan bir uygulama yazdıysanız muhtemelen şöyle bir hata alacaksınız.

"The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."

Eğer uygulamanız web uygulaması ise:

IIS 7 ve üzeri 64 Bit Kullananlar : (Test edildi bu şekilde sorun çözülmektedir)

IIS üzerinde şu ayarları yapmalısınız. IIS Yönetim panelinden Application Pools ta sizin uygulamanızın pool ayarlarından -> Advanced Settings -> Enable 32-Bits Applications değerini True olarak değiştiriniz.

"Kaynak : http://blog.nkadesign.com/2008/windows-2008-the-microsoftjetoledb40-provider-is-not-registered-on-the-local-machine/"

 

 

IIS 6 - 64 Bit Kullananlar : (IIS6 -64 bit için anlatılanlar tarafımdan test edilmemiştir ancak test eden diğer insanlar bu şekilde çözüldüğünü söylemektedir)

Öncelikle asp.net 2.0 32 bit versionu iis e yükleyin. Aşağıdaki örnekteki gibi.

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

32 bit uygulama desteğini aşağıdaki komut ile açın.

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1


IIS te yeni bir Application Pool oluşturun. Uygulamanızın bu pool da çalışması için uygulamanızın properties bölümünden Home Directory -> Application Pool olarak biraz önce açtığınız Pool u atayın.  Configuration butonuna tıklayın ve Extension Mappings bölümünde bütün uzantılar için "C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" olan dizin ayarlarını "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" olarak değiştirin.

Web service extension list bölümünden ASP.NET version 2.0.50727 (32-bit) eklentisine izin verin.

"Kaynak : Ken Tucker - MVP"

 

 

Eğer uygulamanız windows uygulaması ise: Aşağıdaki şekilde Platform target seçeneğini x86 olarak değiştirirseniz sorun düzelecektir.

 

 

 

Güncelleme (19.12.2011) :

Bu yazı ilk yazıldığı tarihte Microsoft tarafından önerilen bir çözüm bulunmuyordu. Office uygulamasının 64 bit sürümünün olmamasından kaynaklanan bu sorunun çözümü için  Microsoft Access Database Engine 2010 Redistributable eklentisinin yayınlandığını gördüm. Eğer uygulamayı siz yazmadıysanız yukarıdaki yöntemler ile bu sorunu çözemeyeceksiniz. O zaman aşağıdaki linkten gerekli olan eklentiyi yükleyerek çözebilirsiniz.

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13255

 

Taglar : , ,

Kategoriler : ASP.NET | İpucu (Tips & Tricks) | Win Forms

Yorumlar (25) -

23.03.2009 23:03:12 #

h.iskender

Merhaba Musatafa bey anlattığınız şeyler çok işimize yaradı, Çok Teşekkür ediyoruz.

h.iskender | Yanıtla

03.04.2009 03:08:27 #

Koray

Bu sorunla karşı karşıyayım ancak IIS'de Application Pool u bulamadım . Benim sorunum şu şekilde :

Excel'den ADO.NET ile veritabanına import işlemi yapıyorum. Localimde office 2003 ve XP Pro kurulu ve sorunsuz çalışıyor .

Servera yüklediğimde aşağıdaki hatayı veriyor.Office 2007 yerine 2003 kurduk. ve Windows 2003 Server kurulu.
The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.

Yabancı kaynaklarda WindowsServer2003-KB829558-ia64-ENU.exe programını kurun diyor kurmaya çalıştığımda bu tip bir makinaya kuramazsınız diyor.
Serverım : Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack 1

Koray | Yanıtla

03.04.2009 10:44:47 #

Mustafa ÖZCAN

@Koray : Yukarıdaki anlatım sadece IIS 7 ve üzeri içindi fakat sizin yorumunuzu görünce IIS 6 - 64 bit için de bir çözüm önerisi buldum. Kendim test etmedim, sanırım o şekilde probleminiz çözülebilir. Bu yöntem ile aldığınız sonucu yorum olarak bildirirseniz ihtiyaç duyan diğer insanlar daha fazla aramak zorunda kalmazlar. Teşekkürler.

Mustafa ÖZCAN | Yanıtla

07.04.2010 21:43:37 #

yusuf karpajk

kardeş sorun çözüldü ellerine sağlık vallaha çoooook sağolasın

yusuf karpajk | Yanıtla

28.04.2010 13:25:26 #

semra

merhaba ben bır program uzerınde calışmaktayım programı c# ta yapıyorum fakat 'Microsoft.Jet.oledb.4.0' sağlayıcısı yerel makine kayıtlı değil hatası verıyor bır cok sıtede sızın gosterdıgınız cozumu buldum ve denedım ama benım programımda soyledıgınız kısım yok yanı platform target kısmı gorunmuyor ayrıca yaptıgım baglantı da calısmıyor yardım edebılırmısınız cok acılFrown(((

semra | Yanıtla

29.04.2010 14:26:23 #

Mustafa ÖZCAN

Uygulamanız windows forms uygulaması mı? ve Visual Studio hangi sürüm kullanıyorsunuz?

Mustafa ÖZCAN | Yanıtla

06.05.2010 11:00:56 #

kubi

tam 2 gündür bu sorunu arıyordum aralıksız!.. ne kadar teşekkür etsem az, çok işimi gördü çok teşekkürler.

kubi | Yanıtla

21.06.2010 03:51:04 #

eyüp

Teşekkür ederim kardeşim.Vista kullanıcısıyım. İki aydan beri(Windows uygulamalarında) bu hata ile uğraşıyordum.Göstermiş olduğunuz çözüm önerisi işime yaradı.

eyüp | Yanıtla

18.08.2010 06:28:50 #

Hüseyin ÖZÇAKIR

Windows 7 64 Bit Türkçe;
        //string _CnnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=HC_PatronCep.accdb";
        //string _CnnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\HC_PatronCep.accdb;Persist Security Info=True";
        //string _CnnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\HC_PatronCep.mdb;Persist Security Info=True";
        //string _CnnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=HC_PatronCep.mdb;Persist Security Info=True";
        //string _CnnString = @"provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\HC_PatronCep.mdb;";
        string _CnnString = @"provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\HC_PatronCep.mdb;";

ancak burada anlatılan x86 (build , proje özelliklerinden)  çözüldü. teşekkürler..

Hüseyin ÖZÇAKIR | Yanıtla

11.10.2010 16:35:47 #

ali

hocam winwods 7 64 bit işlemcili bir makinede windows application uygulamasında nasıl çözebiliriz. uygulamanız windows sa aşagıdaki gibi değiştirin demişsiniz ama değişne bise yok


ben su sekilde yazdım
yol = "Provider = Microsoft.ACE.OLEDB.12.0;DataSource =" + Application.StartupPath + "\\okul.accdb;persist SecurityInfo =true;"
şimdiden teşekkürler

ali | Yanıtla

11.10.2010 22:06:09 #

Mustafa ÖZCAN

Proje ayarlarından x86 sistemlerde çalışacak şekilde derlenmesi ayarını yaptıysanız ve uygulamayı bu şekilde derleyip denediyseniz sorununuzun çözülmesi gerekir.

Mustafa ÖZCAN | Yanıtla

29.01.2011 00:48:38 #

hakan

kardesim Allah razı olsun senden kafayı sıyırmıştım bu yüzden. bi de bi sorum olacak, bu programım setup tan sonra xpde de çalışır mı yoks bu düzenlemeden dolayı sadece win 7 de mi çalışır?

hakan | Yanıtla

30.01.2011 15:23:04 #

Mustafa ÖZCAN

x86 olarak derlerseniz 32 bit Windows XP de de sorunsuz çalışır.

Mustafa ÖZCAN | Yanıtla

31.01.2011 22:43:40 #

hakan

kardeş çok dua ettim hakkını helal et çok saol

hakan | Yanıtla

20.02.2011 07:34:38 #

Süleyman KARAGÖZ

Selam arkadaşlar
Peki projenizi "ClickOnce" ile publish ettiğiniz zaman 64 bit işletim sisteminde aynı hatayı verecek olursa ne yapacaksınız. Ben bunu çözemedim. Yardımcı olursanız sevinirim. ClickOnce ile yapılan publishde sisteme dll dosyaları şeklinde kaydedip başlat menüsüne kısayol koyuyor. ortada exe dosyası yok yani, eğer olsa uyumluluk modunu devreye sokabileceğiz... Saygılar

Süleyman KARAGÖZ | Yanıtla

20.02.2011 10:56:16 #

Mustafa ÖZCAN

x86 olarak derlerseniz sorun olmayacaktır.

Mustafa ÖZCAN | Yanıtla

11.03.2011 02:15:54 #

yasin

ben 32 bit win7 kullanıcısıyım access 2007 bağlantısında sorun yaşadım
The 'Microsoft.Jet.OLEDB.12.0' provider is not registered on the local machine.

hatası alıyorumFrownFrown

yasin | Yanıtla

14.03.2011 16:52:36 #

Erdogan

Sorun cozuldu ellerine saglik

Erdogan | Yanıtla

08.05.2011 01:38:32 #

tunç olçay

eline sağlık ;)

tunç olçay | Yanıtla

11.05.2011 21:52:58 #

abdullah caldir

arkadaslar benim sorunum
Unrecognized database format 'C:\Users\DELL\Documents\Visual Studio 2008\Projects\oupsss\oupsss\bin\x86\Debug\database.mdb'.
denilenin herseyi yaptim
msn adresim zelenkanew01@hotmail.com
skype = zelenkanew01
bir ara yaptim bu tekrar hata aliyorum admin ne olur silmeyin msn adresini

abdullah caldir | Yanıtla

20.05.2011 00:27:53 #

Büşra

arkadaslar ben 64 bit windows 7 kullanıyorum. access 2010 baglantısında sorun yasıyorum.ne yapabilirim?

Büşra | Yanıtla

27.08.2011 16:26:10 #

hotmail

Sorun cozuldu ellerine saglik

hotmail Turkey | Yanıtla

26.09.2011 17:10:25 #

hasan

Allah razı olsun yav çözdü valla Smile

hasan Turkey | Yanıtla

19.12.2011 10:01:46 #

Nadir

kolay gelsin;

elimde bir program var programın hem 32 hem 64bitlik kurulum dosyaları var bende. win7 x64 kullanıyorum. ancak hangisini kurarsam kurayım aynı hatayı alıyorum. jetoledb denen paketi win7 içine ekleme gibi bi durum söz konusu olamaz mı ?

Nadir Turkey | Yanıtla

19.12.2011 22:24:11 #

Mustafa ÖZCAN

Merhaba bu yazıyı yazdığımda Microsoft un bu konuda bir çözümü yoktu. Bu hatanın nedeni Office uygulamasının x64 sürümünün olmamasından kaynaklanmakta idi. Microsoft bu soruna çözüm bulabilmek için Microsoft Access Database Engine 2010 Redistributable paketini yayınlamış hem 32 bit hemde 64 bit sürümleri mevcut. Bu linkten indirebilirsiniz: www.microsoft.com/.../details.aspx

Mustafa ÖZCAN Turkey | Yanıtla

Yorum ekle



  Country flag
biuquote
  • Yorum
  • Canlı önizleme
Loading






resimyok Mustafa ÖZCAN
Yazılım Geliştirici
E-mail Send mail

Reklam

Aylara Göre Yazılar

Online


Online Ziyaretçi : 50

Translate This Page

B l o g - E n g i n e