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

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

*