Ember fia ugyebár programozás közben számos szolgáltatást használ, ezek közül egyik a Microsoft.Jet.OLEDB.4.0 is. Régóta jól mûködik az OLEDB és ezen keresztül kezelünk számos dolgot (pl. XLS fájlokat is). A napokban egy .NET 2.0 alatt készült alkalmazásunkat akartam a Vista x64-n futtatni, és érdekes dologra lettem figyelmes, a gép a szokott fájlmegnyitás helyett egy szép nagy hibajelzést adott:

The ‘Microsoft.Jet.OLEDB.4.0’ provider is not registered on the local machine

Néztem ki a fejembõl bután, mi is történt. Némi utánolvasást követõen az alábbiakat találtam:

The ‘Microsoft.Jet.OLEDB.4.0’ provider is not registered on the local machine on my Vista 64 bit machine today. I made no code changes since I run it on a 32 bit OS.

Mit is kezdhetünk ezzel a problémával? A legegyszerûbb, ha a fordításkor fixen megmondjuk, hogy ez a program x86-os üzemmódban fusson. Miképp kell ezt megtennünk?

  1. Töltsük be Visual Studio-ba a projektünket
  2. Válasszuk ki a projekt fájl tulajdonságait
    Ennek hatására az alábbi ablak jelenik meg:
    Build x32
  3. Válasszuk ki a Build fület
  4. Állítsuk be a Platform Target-et x86-ra
  5. Fordítsuk újra az alkalmazást

Ezt követõen a programunk szépen fog mûködni. A kérdés már csak az, hogy miért is nem lehet ezt x64 alatt simán futtatni? Miért nem tudja ezt a fõ zászlóshajók egyike sem (Vista x64, Windows2008 Server) futtatni?
Merõ luxus és felvágás csak ez az x64!

Lapzárta után érkezett:
Amúgy az MS KB-k között van egy cikk ami sokak szerint megoldás: http://support.microsoft.com/kb/278604

5 hozzászólás

  1. Finoman terelgetnek, hogy 64 biten ne használj már Jet-et. 🙂

  2. Sajnos mi is ezzel a problémával szembesültünk… oledb.12.0 és win7 x64. Először használok komolyabb projectben oledb-t, de azt már tudom hogy utoljára! XD Több vele a gond mint bármi mással …

  3. Én is szembesültem ezzel a problémával és hetek óta tartó keresgélés után itt végre itt találtam meg a megoldást. Köszönet érte.

  4. Walker László

    A “Válasszuk ki a projekt fájl tulajdonságait” ez pontosan mit jelent? Hol és hová kell kattintani? Mert nekem sehol sem akar megjelenni az a bizonyos Build fül, amelyen a Platform Target-et állítani lehetne. Előre is köszönöm a segítséget!

  5. A Build fül nekem most is megvan minden VS verziónál. Ezt a .NET projekten, amit fordítasz kell elérni a jobb klaty Properties segítségével.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

*