Problem med OleDbProvider
Jeg får følgende fejl idet jeg kalder .Open() på en OleDbConnection:The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.
Min connection string er korrekt og lyder:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxx.mdb
Det har virket tidligere på maskinen, jeg er ikke klar over nogle miljøændringer som er blevet foretaget. 100% samme kode virker på en tilsvarende maskine.
Jeg kører en Server 2003 Web edition på en x86 maskine. Jeg har forsøgt følgende:
Reinstallation af MDAC - alt er installeret korrekt.
Tvunget IIS til at køre x86 mode via adsutil.vbs.
Tilføjet codedom elementet for at specificerer /platform:x86 til compileren så jeg er sikker på der bliver compilet x86 kode.
Verificeret at de autocompilede DLL'er i Temp ASPNET files rent faktisk er x86.
Geninstalleret ASP.NET, både runtime og SDK.
Installeret alle updates til Windows.
Kørt filemon, databasen bliver ikke kaldet, så det er et provider issue - den får 100% ikke fat i provideren.
Lave et web deployment project, samme resultat.
Finden er at fuldstændig samme simple connection forsøg kører perfekt i en konsol applikation, men ikke i web site projects - uanset hvilke.
Alle de ting jeg kan Google mig frem til tyder på enten MDAC problemer (som det ikke er), eller at IIS'en kører x64 hvor den skulle køre x86 for at snakke med MDAC, men det er heller ikke problemet - alt bliver compilet til x86.
Jeg er på bar bund. Format C: er ikke en option.