Announcement

Collapse
No announcement yet.

BDE durch ADO ersetzen

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

  • BDE durch ADO ersetzen

    Sollte man eigentlich DB-Anwendungen (Delphi 5; MS SQL-Server 2000) die mit der BDE arbeiten noch auf ADO (Delphi 7) umstellen oder aber direkt auf .NET gehen? Mich interessieren alle Meinungen, insbesondere über den Aufwand der Umstellung sowie über die Stabilität der BDE.

  • #2
    Hallo,

    Borland hat vor langer Zeit angekündigt, dass bei der BDE generell die Unterstützung der <i>SQL Links-</i> Treiber entfällt. Im Fall vom Microsoft SQL Server unterstützt der SQL-Links-Treiber der BDE offiziell nur die Version <b>6.5</b> (also die alte Sybase-Fassung des MS SQL Servers).

    Ab dem MS SQL Server 7 ist ADO (OLE DB) der native Zugriffsweg. Borland hat daher mit den <i>ADO Express</i>-Komponente (alias dbGo) darauf reagiert. Allerdings ist auch ADO Express zum Aussterben verurteilt, da <i>Delphi 8 für das Microsoft .NET Framework</i> nur noch ADO.NET, aber <b>nicht</b> mehr die VCL-Komponenten von ADO Express unterstützt.

    Aus der heutigen Sicht ist daher der Wechsel zu ADO.NET unvermeidbar.

    &gt;..insbesondere über den Aufwand ...

    Wenn die Anwendung eine Benutzeroberfläche hat und dort Daten anzeigt, wird diese Anwendung wohl aufgrund der völlig neuen Philosophie von ADO.NET (Beispiel: Es gibt nur noch <i>virtuelle Datensatzzeiger</i>, da ADO.NET wie ein echter SQL-Server mengenorientiert arbeitet) völlig neu geschrieben werden müssen. Der Borland-Zugriffsweg <b>BDP.NET</b> ersetzt nur den ersten Teil von ADO.NET, aber baut dann völlig auf das DataSet von ADO.NET auf. Somit gilt das Gleiche auch für BDP.NET.

    Wenn dieser Aufwand nicht in in Frage kommt und auch die Anwendung nicht sofort auf .NET umgestellt werden soll, gibt es einen Mittelweg (der jedoch kein "goldener Mittelweg" ist): <br>
    - Die Delphi-Anwendung greift nur auf die nativen COM-Objekte von ADO (Connection, Command, Recordset) zu <br>
    - Wenn später der Wechsel zu .NET ansteht, nutzt man den Microsoft-Migrationsweg, indem die "alten" COM-Objekt von ADO auch vom .NET-Programm genutzt werden (COM Interop). <br>
    - Microsoft hat in ADO.NET einen Weg vorgesehen, wie direkt die Daten von einem nativen ADO-Recordsetobjekt in das ADO.NET-DataSet geladen werden können.

    Comment

    Working...
    X