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


Anmelden zum Antworten