Benutzer mit den meisten Antworten
Provider access 2013 c# 64bit

Frage
Antworten
-
Hallo Wolfgang,
wenn ich ganz ehrlich sein soll, würde ich ACE gar nicht verwenden, wenn die Anwendung auf unterschliedlichen, vorher nicht exakt bekannten, Systemen laufen soll und man auch mit den älteren Dateitypen (mdb, xls, ...) arbeiten kann.
ACE kann nur mit derselben Officevariante nebeneinander existieren. D.h. wenn Office 32 Bit installiert ist (auch auf einem x64 OS), dann kann man auch nur ACE 32 Bit verwenden. Wenn Office 64 Bit, dann ACE 64 Bit. Andere Kombinationen gehen nicht.
Die Anwendung, die ACE nutzen will, muss je nach installierter Office- und ACE Variante entweder als x64 oder als x86 laufen.Aber Ja, man kann ACE auch "problemlos" (siehe vorgenannte Einschränkungen) auf einem x64 OS verwenden und damit arbeiten.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Freitag, 13. September 2013 07:12
- Als Antwort markiert Marcel RomaModerator Freitag, 4. Oktober 2013 08:29
Alle Antworten
-
Hi Wolfgang,
wenn du Ausführlicher beschreibst was du machst und angibst welchen Fehler du bekommst ist es auch einfacher zu helfen.
So bleibt nur ein Blick in die Glaskugel. ;)
Wenn die Access DLL eine 32Bit dll ist musst du dein Programm nicht als AnyCPU oder 64Bit Compilieren sondern als x86. Oder du brauchst eine 64Bit DLL von Access.
Ist in dem Rahmen so das gängigste Problem ;)
MFG
Björn
-
Ich arbeite seit neustem mit access 2013. Daher muss ich auch mein programm leicht abändern. An einem 32Bit Rechner hat mit dem Microsoft.ACE.OLEDB.12.0 provider alles bestens funktioniert. Aber an einem 64 bit rechner treten einige Fehler auf die am 32bit rechner nicht auftreten. Die Fehlermeldung deutet nicht auf den Provider hin aber es kann eigentlich an nichts anderem liegen.
Das Problem liegt hier:
string sql = "INSERT INTO " + Tabellenname + " ("+Spaltenname+") VALUES (" + "'" + EintragHinzufügen.Text + "'" + ")"; OleDbCommand cmd = new OleDbCommand(sql, Verbindung); cmd.ExecuteNonQuery();
oder
OleDbDataReader dr = new OleDbCommand("SELECT * FROM " + Tabellenname + " WHERE " + Spaltenname + "", Verbindung).ExecuteReader(); while (dr.Read()) { AlleEinträge.Items.Add(dr[0].ToString()); } Verbindung.Close();
hier.
Wenn ich versuche einen eintrag hinzuzufügen erscheint nichts nur ein weißes Kästchen. Es kann natürlich auch am Auslesen liegen. Aber wie gesagt bei 32bit ging alles.
- Bearbeitet --Wolle-- Donnerstag, 12. September 2013 18:20
-
Hallo Wolfgang,
ich sehe jetzt nichts was auf einen 32Bit System funktionieren sollte und auf einen 64Bit System nicht.
Einen Fehler (Fehlermeldung / Exeption) bekommst du also nicht.
Sondern das Ergebnis sieht nicht so aus wie du möchtest (Vielleicht mal ein Bild Posten).
Setzt bitte mal einen Brakepoint nach dem einfügen und schau ob der Datensatz in der Datenbank(DB) erzeugt wurde. Wenn nein Poste bitte mal das SQL Statement ohne Variablen sondern was übertragen wird.
Wenn ja schau zeige mal das SQL Statement zur abfrage.
Schau dir bitte auch mal den Link an.
MFG
Björn
-
Hallo Wolfgang,
wenn ich ganz ehrlich sein soll, würde ich ACE gar nicht verwenden, wenn die Anwendung auf unterschliedlichen, vorher nicht exakt bekannten, Systemen laufen soll und man auch mit den älteren Dateitypen (mdb, xls, ...) arbeiten kann.
ACE kann nur mit derselben Officevariante nebeneinander existieren. D.h. wenn Office 32 Bit installiert ist (auch auf einem x64 OS), dann kann man auch nur ACE 32 Bit verwenden. Wenn Office 64 Bit, dann ACE 64 Bit. Andere Kombinationen gehen nicht.
Die Anwendung, die ACE nutzen will, muss je nach installierter Office- und ACE Variante entweder als x64 oder als x86 laufen.Aber Ja, man kann ACE auch "problemlos" (siehe vorgenannte Einschränkungen) auf einem x64 OS verwenden und damit arbeiten.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Freitag, 13. September 2013 07:12
- Als Antwort markiert Marcel RomaModerator Freitag, 4. Oktober 2013 08:29