Announcement

Collapse
No announcement yet.

DAO BDE Access und Win2k

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DAO BDE Access und Win2k

    Hallo,<br>ich habe eine sehr umfangreiche Anwendunge entwickelt, die über den nativen Access Trieber der BDE (also über DAO) auf eine Access-Datenbank zugreift. Jetzt habe ich ein neues Laptop mit Win2k und Office 2k. Jetzt weiß, dass mir bei dieser Konfiguration der Weg über DAO nicht mehr zur Verfügung steht. <br>Im MSDN habe ich mal eine Daoredis.exe gefunden. Wenn die auf Win95 Rechner (ohne Access) installiert habe lief die Sache immer. Aber auf meinem neuen Laptop hatte ich damit keinen Erfolg. <br>Ich erhalte beim Versuch auf die Datenbank zu zugreifen folgende Fehler:<br>
    Allgemeiner SQL-Fehler<br>
    -2147221164<br>
    Tabelle<br>
    Alias: MAP<br>
    MAP ist der Alias in TDatabase.<br>
    Was soll ich jetzt bloß machen ?

  • #2
    Hallo,

    hinter der Fehlernummer -2147221164 (0x80040154) verbirgt sich sich die OLE DB-Exception REGDB_E_CLASSNOTREG mit dem Fehlertext "Klasse nicht registriert".

    Ab Windows 2000 gehört MDAC 2.5 (ADO) fest zum Betriebssystem und wird vom File Protection System entsprechend geschützt. Es ist nur ein MDAC-Upgrade (2.51, 2.6 und 2.7) möglich, aber kein Downgrade.

    Wenn der Zugriff über den MSACCESS-Treiber der BDE läuft, stellt sich zuerst die Frage, ob in der BDE-Verwaltung der Eintrag <i>IDDA3532.DLL</i> oder <i>IDDAO32.DLL</i> für <b>DLL32</b> gesetzt wurde? Je nach dem gewählten Eintrag wird entweder DAO 3.0 oder 3.5 erwartet. Ein Blick in die Registry (<i>HKEY_CLASSES_ROOT\DAO.DBEngine.35</i>) sollte Klarheit darüber verschaffen, welche DAO-Version auf dem Rechner ist

    Comment


    • #3
      Hallo Andreas,<br>
      in der BDE Verwaltung ist IDDA3532.DLL eingetragen. Es handelt sich bei der Access-Datenbank um Access97. Den Schlüssel (HKEY_CLASSES_ROOT\DAO.DBEngine.35) habe ich nicht in der Registry sondern nur (HKEY_CLASSES_ROOT\DAO.DBEngine) und (HKEY_CLASSES_ROOT\DAO.DBEngine.36).<br>Das scheint mein Problem zu sein. Jetzt stellt sich die Frage, wo bekomme ich die Version 3.5 her

      Comment


      • #4
        HAllo Andreas,<br>habe gerade in der BDE-Verwaltung IDDAO32.DLL eingetragen. Jetzt funktioniert es. <br>Seltsam ist nur, dass es bei allen anderen Rechnern (Win95,98,ME,NT) nur mit der IDDA3532.DLL funkioniert. Daraus folgt - ich habe keine Ahnung warum es funktioniert

        Comment


        • #5
          Hallo Jens,

          &gt;Seltsam ist nur, dass es bei allen anderen Rechnern ... funktioniert.

          wenn der BDE-Treiber IDDA3532.DLL nach dem COM-Objekt für die DAO-Version 3.5 sucht (<i>HKEY_CLASSES_ROOT\DAO.DBEngine.35</i>), muss es zwangsläufig auf allen den Rechnern fehlschlagen, bei denen diese Version nicht mit der CLSID {00000010-0000-0010-8000-00AA006D2EA4} registriert ist. Der "alte" Treiber IDDAO32.DLL sucht nach der CLSID, die zu <i>HKEY_CLASSES_ROOT\DAO.DBEngine</i> passt. Da nur die CLSID {00000010-0000-0010-8000-00AA006D2EA4} wichtig ist, würde ich in den Registries der verschiedenen Rechner danach suchen, um die Unterschiede zu ermitteln.

          P.S: Auf meinen Rechner (Windows XP Professional mit installiertem Office XP) ist sowohl DAO.DBEngine.35 als auch DAO.DBEngine.36 registriert

          Comment

          Working...
          X