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?
- Töltsük be Visual Studio-ba a projektünket
- Válasszuk ki a projekt fájl tulajdonságait
Ennek hatására az alábbi ablak jelenik meg:
- Válasszuk ki a Build fület
- Állítsuk be a Platform Target-et x86-ra
- 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
Finoman terelgetnek, hogy 64 biten ne használj már Jet-et. 🙂
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 …
É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.
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!
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.