Hallo zusammen,
anbei folgendes Problem eines Anfängers....habe bereits unter Google geschaut
und 100 Links bekommen, allerdings ohne Erfolg
Fehlermeldung :> Fehlermeldung:
Installierbares ISAM nicht gefunden
OS: Windows / 64 bit
Office 2010 / Access 2010 32 bit
Visual Express Studio 2012
Ich habe aus dem Buch von Thomas Theis Einstieg c# 2012
einen Text kopiert / abgeschrieben
Ziel: Daten aus einer Access 2010 Datenbank auszulesen
Ich habe die Database Engine für Access bereits installiert
und unter Google ohne Ende geschaut.......
Anbei der Prog TExt
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Soure=C:\Windows\Temp\firma.accdb;" +
"Extended Properties="Access 14.0 Xml;HDR=Yes"";
Wie bereist erwähnt, der TExt ist aus dem Buch, daher der Zugriff auf eine Access 2010 Datenbank
Ich habe auch die Parameter für MS Versionen 2003/ 2007 mir angeschaut,
ebenfalls ohne Erfolg
Danke für eure Hilfe
Nach Fehlermeldungen in Englisch geschaut?
So ziemlich alle Google Treffer verweisen hier auf den selben Lösungsweg.
Could not find installable ISAM
Der DataSource sollte zudem in Quotes.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Erst mal Danke
Bin zwar kein Google Experte, aber 1000 Hinweise führten ebenso wenig zur Lösung wie der "funktionsfähige" Text im Buch
ich teste mal
Danke
Servus................
geht nicht. Ich habe die Einstellung geändert. Aber das Problem bleibt....
zu viele Lösungshinweise die sehr unterschiedliche Wege gehen
Für Hilfe bedanke ich mich
Hast du den Connection-String 1:1 kopiert?
Bei Source fehlt ein 'c' (Ich kaufe ein 'c' 😉.
Und wegen deinem Fehler: schau mal in Installierbares ISAM nicht gefunden, d.h. trag mal "Access 12.0" ein (d.h. für Office 2007).
Und wenn du die 32Bit-Treiber verwenden willst, dann kompiliere dein Programm als "x86" (anstatt "anycpu").
Servus....
erst mal Danke für deine Meldung
Das C 😉 habe ich gekauft. War leider nur hier im Forum nicht da
Den Link kannte ich schon. Allerdings als Anfänger muß man da
erst mal schauen und verstehen
Die Einstellung unter Visual Studio habe ich gemacht
Ändere ich die Werte auf Access 12.0 dann bekomme ich folgende Fehlermeldung
Danke noch mal für deine Hilfe
Fehlermeldung:
Eine nicht behandelte Ausnahme des Typs "System.ArgumentException" ist in System.Data.dll aufgetreten.
Zusätzliche Informationen: Das Format der Initialisierungszeichenfolge stimmt nicht mit der Spezifikation überein, die bei Index '108' beginnt.Falls ein Handler für diese Ausnahme vorhanden ist, kann das Programm möglicherweise weiterhin sicher ausgeführt werden.
Hi,
ich sehe da bei Extended Properties bei Zeichen 108 ein 14.0 was dann sicher auch nicht dort hin gehört. Weggemacht bzw. gegen 12 ausgetauscht?
Als Tipp allgemein wenn du Ärger mit dem ConnectionString hast:
Dein Visual Studio hat einen Server-Explorer, der praktikable ConnectionStrings ausspuckt.
Einfach mal die Datenverbindung dort hinzufügen und unter den Eigenschaften den ConnectionString kopieren.
Des Weiteren - bei mir sieht der ConnectionString für eine 2007er Access-Datei so aus, wenn ich das so kopiere:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<FILE>
(Habe kein Access installiert)
LG
Hallo,
bist Du sicher, dass Du diese Extended Properties für Access überhaupt angeben musst/darfst?
Sowohl unter Microsoft ACE OLEDB 12.0 connection strings als auch unter ADO Connection Strings Examples tauchen die nur im Zusammenhang mit Excel auf, aber nicht mit Access.
Falls Du sie doch brauchst, kannst Du auch mal einfache Hochkommata statt der doppelten Anführundzeichen probieren:
"Extended Properties='Access 12.0 Xml;HDR=Yes'"
<-- dass aber HDR=YES bei der .accdb sinnvoll ist, glaube ich eigentlich nicht, und ob es sich um ein Xml-Format handelt, kann ich nicht sagen.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Access ist kein XML.
XLSX, DOCX und Co sind ZIP Dateien, in denen XML Dateien stecken (Open XML). Wurden mit Office 2007, also Version 12, eingeführt.
XLS, DOC wiederum proprietäre Formate - wie Access.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Servus...........
Besten Dank an euch, als Anfänger mit viel spaß aber wenig Talent ist man
auf Hilfe Angewisen
Es funktioniert
Lösungen ( die mehr oder weniger zutreffen)
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Windows\\Temp\\firma.mdb";
Den extend Part habe ich deaktviert
Paralell dazu unter Visual Studio Express die Datenbank direkt mit angebunden
Da ich noch nicht alles erklären kann, können auch falsche Einstellungen drin sein.............
Danke euch nochmal alle.........
Ps: Wenn noch jemand einen guten Buchtipp hat...
Ich setze aktuell Thomas Theis und Rheinwerkverlag ein