none
DAO 3.6 und Jet-Engine 4.0 ersetzen?

    Frage

  • Hallo zusammen,

    ich habe eine Frage dazu, wie die Möglichkeit steht, DAO 3.6 und Jet-Engine 4.0 zu ersetzen.

    Wir haben derzeit ein Problem in einer virtualisierten Umgebung. Das DAO 3.6 und Jet 4 veraltet sind, ist uns bewusst, eine Umstellung auf MSSQL ist auch bereits geplant, aber aufgrund des Umfangs der Arbeiten erst im nächsten Jahr möglich.

    Daher wird jetzt eine kurzfristig mögliche Zwischenlösung gesucht.

    Ist Eurer Erfahrung nach eine Umstellung auf eine der folgenden Komponenten mit geringen Aufwänden möglich, um auszuprobieren, ob die Probleme damit behoben werden können? Die Komponenten sind deutlich neuer und lösen vielleicht bis zur Umstellung auf MSSQL das Problem:

    • 2007 Office System Driver: Data Connectivity Components
    • Microsoft Access Database Engine 2010 Redistributable
    • Microsoft Access 2013 Runtime

    Vielen Dank!

    Freitag, 20. November 2015 10:13

Alle Antworten

  • Hallo,

    Microsoft hat ja selbst in MS Access schon vor vielen Jahren den Datezugriff von DAO auf ADO umgestellt: Microsoft ActiveX Data Objects (ADO)

    Bevor ihr euch dran macht Umzustellen: MS hat ADO / OleDB für den SQL Server abgekündigt, zukünftig wird nur noch ODBC als Industriestandard unterstützt (und natürlich ADO.NET)

    Siehe Data Access Technologies Road Map


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Freitag, 20. November 2015 10:37
  • Hallo,

    grundsätzlich gilt für die Office Treiber, dass sie nicht als Ersatz für DAO 3.6 / Jet 4.0 gedacht sind - das steht deutlich auf der Download Seite (unter Details).

    Die Jet 4.0 ist Bestandteil von Windows und unterliegt den dessen Support-Bedingungen - somit ist sie nicht "veraltet" (zumal "neuer" nicht gleich "besser" ist).

    Bezüglich Olafs Antwort: Ole Db verwendet wiederum die gleiche Engine wie DAO.

    Sinnvoll wäre, Du würdest Deine unspezifizierten "Probleme" genauer beschreiben, denn erfahrungsgemäß liegen die häufiger nicht an den Treibern, sondern daran wie sie eingesetzt werden.

    Gruß Elmar

    Freitag, 20. November 2015 11:18
  • Hi Olaf,
     
    Olaf Helper [MVP] wrote:
    >
    > Microsoft hat ja selbst in MS Access schon vor vielen Jahren den
    > Datezugriff von DAO auf ADO umgestellt: Microsoft ActiveX Data Objects
    > (ADO)
     
    ADO war in Access nur kurzzeitig die empfohlene Zugriffsmethode, von Access
    2000 bis 2002 (XP). Seit 2003 ist das wieder DAO und seit 2007 der
    Nachfolger ACEDAO.
     
    Ausnahme war ADP (nur ADO moeglich), leider wurde der ADP-Support in 2013
    aus Access entfernt.
     
    Gruss - Peter
     
    --
     
    Freitag, 20. November 2015 12:41
    Moderator
  • Vielen Dank schon einmal an alle für die Antworten. Hier eine Beschreibung zu dem Problem:

    Wir sind Hersteller einer Softwarelösung, die wir Firmenkunden zur Verfügung stellen. Die Programmiersprache ist C++, die Datenbasis besteht aus mehreren Access-Datenbanken die im Access 2000 Format vorliegen. Auf diese Datenbanken wird mit DAO 3.6 und der Jet-Engine und teilweise per OLEDB zugegriffen. 
    Bei Netzwerkinstallationen, bei der die Daten auf einer Windows Freigabe liegen, melden unsere Kunden verstärkt diverse Problem mit der Stabilität die Datenbanken. 
    Dabei kommt es z.B. zu unerklärlichen Datenverlusten oder Daten, die nicht weggeschrieben und gespeichert werden. Die Probleme tauchen verstärkt auf 2008 oder 2012 Servern auf. Welche Möglichkeiten haben wir die Stabilität in diesen Konstellationen zu erhöhen? 

    Dienstag, 24. November 2015 18:35
  • Hi,

    die letzte Frage lässt sich eigentlich nur mit "verwendet nicht Access Datenbankendateien im Multiuser und/oder Netzwerkbetrieb". Ob Access an sich (also mit Access basiertem Frontend, welches auf im Netzwerk abgelegte MDBs zugreift) ebenfalls solche Probleme hat, weiß ich nicht, letztendlich wird Microsoft aber wahrscheinlich auch nicht anders auf die MDBs zugreifen als andere Software auch.

    Access Datenbankdateien (bzw. Jet, DAO, ... für den Zugriff) sind für solche Sachen nicht ausgelegt, auch wenn es grundlegend funktionieren kann. Stabil ist aber anders. Früher hat man oft und gerne Access DBs für Webseiten verwendet. Wenn die Seiten nur wenig frequentiert waren, ging das auch eine Zeitlang gut. Aber mit steigenden Zugriffszahlen kam es immer öfter zu den von dir geschilderten Problemen wie unerklärliche Datenverluste, Zugriffsfehler auf die MDBs (da diese im Speicher hinüber waren, auf der Platte aber Ok), usw.

    Ich würde euch daher raten, auf ein Datenbanksystem zu wechseln, welches die notwendige Stabilität und Unterstützung eines Multiuserbetrieb im Netzwerk bietet. Ob das nun MS SQL, Oracle, MySQL, ... ist dabei erstmal nicht so wichtig. Aber ihr sollltet bei sowas meiner Meinung nach definitiv von dateibasierten Datenbankengines wegkommen.

    ---

    Ich rede hier allerdings nur von MDBs als Datenspeicher beim Zugriff durch eigene Software per Jet, ACE, ... Access an sich bietet ja weitaus mehr als das. Da bin ich aber kein Spezi.


    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

    Dienstag, 24. November 2015 19:02
  • Hallo,

    ich arbeite mit MS Access seit der Version 2.0, also seit über 20 Jahren und es war und ist ein tolles Tool, um mal ein paar Daten zu verarbeiten und ein kleines Programm zur Datenerfassung zu erstellen.

    Aber wirklich stabil war es noch nie, insbesondere nicht in einer Multi-User Umgebung. Die Funktion "Reparieren" gab es schon immer, früher war die mal sehr versteckt in der Menü-Struktur zu finden und "Komprimieren" war ein separater Menu-Punkt. Klick mal in einer aktuellen Version auf "Datei", da findest Du gleich als erste Funktion "Komprimieren und Reparieren", weil man es eben regelmäßig mal braucht.

    Auch ich kann da nur raten, ein richtiges Datenbanksystem zu verwenden. MS hatte mit MS Office 2000 kostenfrei die MSDE 2000 ausgeliefert, die "Desktop Engine" als abgespeckte SQL Server Variante (heute Express Edition) mit dem Hinweis, das man die als Datenbank verwenden könne anstelle von MS Access. Und den Upgrade Wizard zu SQL Server gibt es auch bereits seit einiger Zeit in MS Access.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Mittwoch, 25. November 2015 07:44
  • Danke für die Antworten. Der Wechsel auf SQL ist bereits geplant, wird aber aufgrund des Umfangs der Änderungen erst im Laufe des nächsten Jahres möglich sein. Daher hoffen wir auf eine kurzfristige Lösung zur Überbrückung bis zum Wechsel auf SQL. Über Tipps wären wir sehr dankbar.
    Mittwoch, 25. November 2015 10:02
  • Hi,

    es gibt IMO keine kurzfristigen Lösungen. Das Problem liegt im Design.

    Ansonsten legt die MDBs nicht im Netzwerk ab, sondern auf der lokalen Platte eines jeden Benutzers. Dann sollte es stabiler sein.


    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


    Mittwoch, 25. November 2015 11:02
  • Hallo,
     
    Star Finanz wrote:
     
    > [...] wird mit DAO 3.6 und der Jet-Engine und teilweise per OLEDB zugegriffen.
    > Bei Netzwerkinstallationen, bei der die Daten auf einer Windows Freigabe liegen, melden unsere Kunden verstärkt
    > diverse Problem mit der Stabilität die Datenbanken.
     
    Die beschriebenen Probleme treten i.d.R. dann auf, wenn per Access von
    mehreren Rechnern aus auf dieselbe MDB zugegriffen wird. Dagegen sind
    Zugriffe per OLEDB oder Linked Table unkritisch. Kannst du ausschliessen,
    dass jemand die MDB aus Access heraus direkt oeffnet?
     
    Weiteres Wissenswertes zum Thema: http://www.donkarl.com?FAQ1.35
     
    Gruss - Peter
     
    --
     
    Donnerstag, 26. November 2015 15:27
    Moderator