verwendetes Datenbanksystem: Jet 4.0 / Access2000
Hi,
ich muss einen Dienst programmieren, der Daten einer Access-Datenbank ausliest / ändert.
Der "Dienst" ist soweit fertig, dass er als normale Konsolenanwendung als x86-Kompilat läuft.
Um einen richtigen Dienst auf einem 64-Bit OS zu installieren, muss dieser als "Any CPU" oder "x64" kompiliert werden, richtig?
Gibt es OleDB nicht für 64-Bit?
Ich bekomme beim 64-Bit-Kompilat diese Fehlermeldung:> Fehlermeldung:
Der 'Microsoft.Jet.OLEDB.4.0'-Provider ist nicht auf dem lokalen Computer registriert.
Oder gibt es auch eine Möglichkeit, ein x86-Dienst unter x64 zu installieren?
Die Frage hier ist viel mehr: wieso muss es denn unbedingt x64 sein? Welche KO-Anforderung hast Du denn? Dass ein x86 Dienst auf einem x64 System nicht laufen sollte ist jedenfalls falsch.
Microsoft.Jet.OLEDB.4.0 kann jedenfalls kein x64. Es gibt aber die 'Microsoft Access Database Engine 2010 Redistributable' in x64, die allerdings auch ein installiertes MS Office in x64 erfordern.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Es muss x64 sein, weil ich den Dienst auf einem/mehreren vorhandenen Servern (Windows Server 2008 R2) installieren muss.
Wenn es einen Weg gibt, einen x86-Dienst unter Windows Server 2008 R2 zu installieren, dann wäre das Problem auch gelöst =)
Ein x64-Betriebssystem kann problemlos x86-Dienste ausführen.
Ok danke, das gelang mir bislang noch nicht... Aber wenn es einen Weg gibt, dann muss ich diesen finden. 😉
Damit hat sich das Thema erst mal erledigt:
und irgendwie unter x64 ausführen
Nicht irgendwie. Einfach so.
Hallo MorphieX,
kompiliere den Dienst x86 und verwende dann auch das richtige InstallUtil aus dem x86 Pfad und der richtigen .Net Version.
Dann sollte es ohne Probleme klappen. Falls nicht kannst du mich hier gerne noch einmal Fragen.
Gruß
Campy
A programmer is just a tool, which converts coffeine into code! 🙂