2013-08-22 14 views
5

Ich erhalte einen Fehler "Der 'Microsoft.ACE.OLEDB.12.0' Provider ist nicht auf dem lokalen Rechner registriert." auf meinen Testservern. So ist meine Frage:Können wir eine Referenz von 'Microsoft.ACE.Oledb.12.0.dll' zu Projekt hinzufügen

i) Kann ich Referenz für "'Microsoft.ACE.Oledb.12.0.dll' hinzufügen, um es selbst zu projizieren? ii) Ist es sicher? iii) Wie geht das?

Alles funktioniert auf meinem lokalen Rechner, da ich die neueste Office-Version in meinem Rechner installiert habe. Sobald ich meinen Code zum Testen von Servern bereitgestellt habe, erhalte ich den obigen Fehler. Ich bin möglicherweise nicht in der Lage, Office auf Testservern zu installieren (aus irgendeinem Grund). Ist es also möglich, alle dll-Dateien in das Projekt selbst zu übernehmen und diese auch auf Testserver zu verteilen?

Vielen Dank im Voraus.

+0

Ich weiß, dass es schon eine Weile her, seit Sie diese Frage gestellt, aber ich gleiche Problem konfrontiert bin, und ich muss wissen, ob es einen Weg gibt, diese hinzufügen dll zu der Asp Web App. Danke für jede Hilfe. – Hanady

Antwort

-1

Um diese Lib zu verwenden, müssen Sie Office auf dem Computer installiert haben. Wenn Sie einen haben, können Sie einfach lib in der üblichen Weise hinzufügen.

+0

ja ich stimme dir zu.Alles funktioniert auf meinem lokalen Rechner, da ich die neueste Office-Version auf meinem Rechner installiert habe. Sobald ich meinen Code zum Testen von Servern bereitgestellt habe, erhalte ich den obigen Fehler. Ich bin möglicherweise nicht in der Lage, Office auf Testservern zu installieren (aus irgendeinem Grund). Ist es also möglich, alle dll-Dateien in das Projekt selbst zu übernehmen und diese auch auf Testserver zu verteilen? – Avinash

+0

Sie können verwandte Themen zu Ihrem Problem finden: - [Microsoft.ACE.OLEDB.12.0-Anbieter ist nicht registriert] (http://stackoverflow.com/questions/238625/microsoft-ace-oledb-12-0-provider- is-not-registered) Sie können den OLEDB-Provider anstelle des Büros installieren - [Müssen wir Microsoft Office auf dem Server für den Excel-Import in Asp.net installieren ?](http://stackoverflow.com/questions/10702788/do wir müssen installieren-Microsoft-Office-im-Server-für-Excel-Import-in-ASP-net) Sie können Standalone [OLEDB-Provider] (http://www.microsoft.com/en-us) installieren /download/details.aspx?id=13255) – Krzysztof

0

Wenn Sie 64 AccessDatabaseEngine verwenden möchten und IIS 64 Bit (zB Windows 2012 64-Bit), dann folgen Sie

  1. Sie müssen Rolle asp.net 4.0 hinzufügen, .net 4.0 auf IIS

  2. öffnen IIS-Manager

  3. Ihrer Website Anwendungspool Öffnen des Advenced Einstellung

  4. Aktivieren 32-Bit-Anwendungen auf F alse (müssen dies tun, oder iis auf 32-Bit-Motor nicht gesetzt) ​​

  5. , wenn Ihre Website Verwendung .net 4.0, dann .NET Framework Version genau Version

6. set [dies ist keypoint !!!] Managed Pipeline-Modus auf "Classic" gesetzt

viel Glück :)

2

um "Microsoft.ACE.OLEDB.12" verwenden Sie die „Microsoft Access-Datenbank-Engine 2010 installieren müssen Weitervertreibbar "

Die Informationsseite für das hier ist: http://www.microsoft.com/en-us/download/details.aspx?id=13255

Und wie @ user1297578 recht bemerkt zu Recht die tatsächliche Download ist hier: http://www.microsoft.com/en-in/download/confirmation.aspx?id=13255

Sobald Sie installiert haben, dass die eigentliche Montage ACEOLEDB.DLL genannt wird,

C:\>DIR /s/b c:\ACEOLEDB.DLL 
c:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEOLEDB.DLL 

Als Referenz ist die folgende der Fehler: der folgende Befehl an einer Eingabeaufforderung, die für Sie auf Ihrem System finden Nachricht, die ich von einem Programm empfangen, bis ich die oben verteilbare installiert:

Connection Failed. 
Error from IDataInitialize::GetDataSource 
with connectionString=Data Source=C:\MyFileName.mdb;Mode=Share Deny Write;Provider=Microsoft.ACE.OLEDB.12.0;User Id=admin 
OLE DB Error Report: 
    ErrorRecord: 
    Hresult=80040154 
    Description: Class not registered 
    SQLErrorInfo: No error info available 
    Source: Microsoft OLE DB Service Components 
+6

Wenn jemand antwortet, wie man diese Bibliothek nur mit * .DLL im Projekt verwendet, wäre das großartig. –