Problem mit ADO.NET
-
Hallo,
Ich arbeite momentan an einem Projekt für einen Kunden und habe folgendes Problem:
Ich will per ADO.NET auf eine .xls Datenbank zugreifen (Excel 97-2002,glaube ich).Code sieht so aus (Datei heißt "CommonLexicalFramework.xls", Datenbank heißt CommonLexicalFramework, ConnectionObject ist ein OleDbConnection-Objekt):
this->ConnectionObject = gcnew OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;" \ "Data Source=CommonLexicalFramework.xls;"\ "InitialCatalog=CommonLexicalFramework;" \ "Extended Properties='Excel 8.0;'" ); this->ConnectionObject->Open(); if( !(this->ConnectionObject->State == ConnectionState::Open) ) return false; else return true;
Also einfach nur Verbindung aufbauen.
Wenn ichs kompiliere kommt folgende Fehlermeldung:
Eine nicht behandelte Ausnahme des Typs "System.Data.OleDb.OleDbException" ist in System.Data.dll aufgetreten.
Zusätzliche Informationen: Installierbares ISAM nicht gefunden.
Sie tritt bei
this->ConnectionObject->Open();
auf.
Ich benutze Vista x64, habe die Anwendung allerdings auch schon als x86 kompiliert... Außerdem fehlt bei mir in der registry der Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet komplett
(wie es hier beschrieben wird: http://support.microsoft.com/kb/209805/de)
Wie muss ich das deuten?Bin dankbar für jede Hilfe!
Gruß Simon.
-
In's blaue geraten:
"Extended Properties='Excel 8.0;'" muss eigentlich "Extended Properties='Excel 8.0';" (man beachte das Semikolon) heißen?
-
Danke für deine Antwort, habe den Fehler allerdings schon gefunden, und zwar muss es heißen:
Data Source=CommonLexicalFramework; und nicht
Data Source=CommonLexicalFramework.xls;kann man closen