2008-12-08 2 views
9

mit ASP.NET Ich brauche eine Excel-Vorlage zu aktualisieren.Excel ODBC und 64-Bit-Server

Unser Server läuft Windows 2008 im 64-Bit-Modus.

ich den folgenden Code bin mit der Excel-Datei zuzugreifen:

... 
    string connection = 
@"Provider=MSDASQL;Driver={Microsoft Excel Driver (*.xls)};DBQ=" + path + ";"; 
    ... 

IF der Anwendungspool eingestellt ist 32-Bit-Anwendungen zu ermöglichen, den Code wie erwartet funktioniert; aber der Orakeltreiber, den ich benutze, scheitert, da es nur 64 bit ist.

Wenn Aktivieren 32-Bit-Anwendungen auf false schlägt der Excel gesetzt Code mit dem Fehler:

Data source name not found and no default driver specified

Irgendwelche Vorschläge?

Antwort

0

Es sind keine Office-Treiber für 64bit freigegeben.

Der (derzeit) letzte Beitrag unter diesem Link: MSDN Forum Details eine umständliche und hässliche Problemumgehung. Sie können den Windows-Dienst auch durch eine COM-exposed-Assembly ersetzen, wenn Sie dies wünschen. Immer noch hässlich. :)

+0

Es gibt eine Lösung für dieses Problem durch 2010 Office System Driver Beta jetzt zu sein scheint: Datenkonnektivitätskomponenten –

2

Microsoft Release eine 64-Bit-OLE DB für ODBC in 2008/04/04 http://www.microsoft.com/downloads/details.aspx?FamilyID=000364db-5e8b-44a8-b9be-ca44d18b059b&DisplayLang=en

Jetzt sollten Sie in der Lage, alles 64bit zu laufen, kann u es versuchen und lassen Sie uns wissen, das Ergebnis und ich persönlich glaube, Microsoft sollte Release ein 64bit Jet Oledb 4.0, wenn das Entwicklungsteam keine Zeit hat, es zu tun dann einfach in codeplex.com und lassen Sie es andere Programmierer tun.

-1

Installieren Sie den 32-Bit-Oracle-Treiber und aktivieren Sie 32-Bit-Anwendungen?

+1

Es ist vielleicht besser, sich an das zu halten, was Microsoft für 64-Bit-Umgebungen bietet. –

+2

Einverstanden. MS hat Treiber im Jahr 2010 bereitgestellt. –

2

Es gibt auch 2010 Office System Driver Beta: Datenkonnektivitätskomponenten Link die uns Excel 2007 (XLS) aus einer 64-Bit-Umgebung erlaubt hat, zu öffnen.

This download will install a set of components that can be used by non-Microsoft Office applications to read data from Microsoft Office 2010 Beta files

Unsere Verbindungszeichenfolge

@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " + filePath + ";Extended Properties=\"Excel 12.0;HDR=YES;\"" 
+2

Wenn Sie eine 32-Bit-Version von Office installiert haben, erhalten Sie eine Fehlermeldung, wenn Sie versuchen, es zu installieren. Aber wenn Sie es mit dem '/ passiv'-Flag von der Kommandozeile aus ausführen, wird es problemlos nebeneinander installiert. – CuppM

+0

Die Verwendung der/passive Flagge hat mir sehr geholfen, danke !!! Ich wollte gerade Office neu installieren! –

6

Das Team Microsoft Office hat nur veröffentlicht ein 64-bit driver

+0

Hinweis: Dieser Treiber ist nur für Office 2010 und höher geeignet. – Lizz

+0

Dies funktioniert jedoch nur, wenn Sie den Anwendungspool für eine klassische ASP-Anwendung jedoch auf "32-Bit-Anwendungen aktivieren" auf "true" festlegen. Siehe http://stackoverflow.com/questions/32728007/microsoft-access-database-engine-2010-redistributable-64-bit-only-works-if-enabl – Dijkgraaf