Announcement

Collapse
No announcement yet.

Umstieg Interbase - MS SQLServer

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

  • Umstieg Interbase - MS SQLServer

    Hi,
    ich muß exsitierende DELPHI-Programme die bisher auf eine Interbase-Datenbank zugegriffen haben auf eine Zusammenarbeit mit einem MS SQL-Server abändern.

    Ich bin, was den Umgang mit dem MS SQL-Server angeht, eher optimistischer Nichtschwimmer und bräuchte folgende Information: Mit welchen Komponenten unter DELPHI empfiehlt sich der Zugriff auf den MS SQL-Server ? Über ADO (die 'eierlegende Wolchmilchsau' - Zitat A.Kosch), über andere Komponenten wie SQLDirect oder Zoes Library ? Was ist die diesbezüglich gängiste Methode ?

  • #2
    Hallo Thobias,

    habe vor etwa 2 Jahren mal zu Interbase gewechselt, bin aber Anfang dieses Jahres von Interbase wieder zurück zu SQL Server und habe meine Interbase-Applikation, in die ich schon über 1 Jahr Entwicklung gesteckt habe, auf SQL Server, eigentlich MSDE, umgestellt. Ich hatte einfach zu viele Probleme mit der Stabilität von Interbase in größeren Netzwerken bei 24x7-Betrieb. Seit Verwendung von MSDE sind meine Probleme wie weggeblasen.
    Allerdings 4 Monate Änderungsaufwand, weil
    a) das sich das Transaktionsmanagement beim SQL Server anders verhält als bei Interbase und
    b) ich vieles mit Trigger und stored procs mache und mir da vor allem die "before"-Trigger von Interbase gefehlt haben, die es ja beim SQL Server nicht gibt!

    Verwende selber Delphi5 pro und habe mir dazu die adonis components gekauft. Funktioniert super und stabil, man muss aber aufpassen, wie man zugreift. Ich verwende nur kleine Resultsets, keine Tabellen bis auf ein paar kleine Lookup-Tabellen mit fixen Werten und mache eigentlich alles mit Querys und stored procs. Habe mir vor kurzem Delphi 7 Trial geholt und dort die ADO Komponenten ausprobiert und die verhalten sich etwas anders als meine adonis components, nämlich irgendwie intelligenter im caching, wenn man mal die Kombination große Tabelle mit AnzeigeGrid ausprobiert. Aber das muss ich bei Gelegenheit nochmal verifizieren. Bezüglich SQLDirekt oder Zeos kann ich nichts sagen, da ich wie gesagt alles mit ADO mache und bisher keinerlei Probleme damit hatte.

    bye,
    Helmu

    Comment


    • #3
      Hi Helmut,

      schönen Dank für die Resonanz. Die Adonis-Komponenten waren mir bisher nicht bekannt. Ein schnelles Querlesen der Beschreibung offenbart, daß auch Sie über ADO zugreifen. Ich bin ADO gegenüber grundsätzlich nicht abgeneigt, wüßte aber gerne, ob es nicht auch Komonenten gibt die nativ über eine API direkt auf den MS SQL-Server zugreifen !?

      T

      Comment


      • #4
        Hallo Tobias,

        also soweit ich das verstehe, ist Delphi-ADO bzw. Adonis eine Komponentensammlung, um über zB die API "OLE DB Provider for SQL Server" nativ auf selbigen zuzugreifen, da man dann ja weder die BDE noch ODBC braucht. Und tiefer geht wohl keiner der Komponentenhersteller, da müsste er ja dann die Zugriffsapi komplett ersetzen.<BR>
        Hier mal ein Einstiegspunkt in die Microsoft Doku für den direkten Zugriff auf die möglichen API's:

        http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28001860

        Da findest du unter Data Access -> Reference dann jeweils die Beschreibungen inkl. Programmers reference, Beispiele, ... Natürlich solltest du C-Kenntnisse haben, da Microsoft mit Delphi nichts am Hut hat.<BR>
        Also mal viel Spaß beim Lesen.

        bye,
        Helmu

        Comment


        • #5
          Hi Helmut,

          meiner Kenntnis nach verhält es sich folgender Maßen: ADO sind COM-Objecte (MDAC: Microsoft-Data-Access-Comoponents) die von AdoExpress-Komponenten in Delphi gekapselt werden. Der Zugriff auf die 'nativen' COM-Objecte ist über die Einbindung einer TYP-Bibliothek (abhängig von der Delphi-Version) möglich und zum Teil wohl auch empfehlenswert. Die ADO-COM-Objecte sind universell einsetzbar - gibt es für eine Datenbank einen OLEDB-Provider oder auch ODCB-Treiber, so können sie für den Zugriff eingesetzt werden ...

          Und genau danach frage ich: Der OLE DB-SQL Treiber nutzt doch wahrscheinlich für den MS SQL-Server eine eben dafür spezifische API. Gibt es also keine Komponenten unter DELPHI, die 'richtig' nativ auf den SQL-Server zugreifen können ? Ohne den zu vermutenden Overhead von ADOExpress - ADO-COM-Objecte - OLE DB-Provider - API - MS SQL-Server ?!

          Spannende Geschichte,
          Tobias

          P.s. Die Komponenten von <http://www.sqldirect-soft.com/index.html> scheinen ohne ADO und OLE DB-Provider zu arbeiten. Ich werde sie mal testen, habe aber meine Vorbehalte bezüglich ihrem Mangel an Popularität..

          Comment


          • #6
            Hallo Tobias,<br>
            ich arbeite seit über einem Jahr mit den SQLDirect Komponenten. Ich habe bis jetzt nur positive Erfahrungen gemacht. Der Vorteil bei diesem Zugriffstool ist, das es die bekanntesten Datenbanken unterstütz. Möchtest Du zu einem späteren Zeitpunkt auf eine andere Datenbank umsteigen, muss Du nicht die Datenzugriffsebene komplett neu schreiben.<br>
            Möchte man(n) mehrere Datenbanken unterstützen ist allerdings darauf zu achten, das SQL Statements immer für alle Datenbanken 'verständlich' geschrieben werden. <br>
            ICh habe auch schon Tests mit den Datenbanken Interbase(7.0), MS-SQL 2000 und Oracle (8i,9i) gemacht und war positiv überrascht, daß die Zugriffe problemlos geklappt haben.

            Gruß Fran

            Comment


            • #7
              Hi Frank,

              danke der Fürsprache betreff SQLDirect. Ich habe inzwischen erste Funktionalität mit ADO realisieren können, habe mich aber noch nicht entschieden. Ich warte noch auf eine Information vom Oldenburger Better-Office die in ihren Projekten häufig mit dem SQL-Server zu tun haben sollten. Für ADO plädiert noch das Super-Tool 'Database Workbench' die seit neustem auch den MS SQL-Server unterstützen - mit Zugriff über ADO !!?

              Gruß, Tobia

              Comment


              • #8
                Hallo Tobias,

                war jetzt mal auf Urlaub, daher eine etwas längere Pause ...
                Habe aber gerade noch ein Tool für den Direktzugriff auf den SQl Server entdeckt. Kann daher nichts dazu sagen, ist aber sicher einen Blick wert:

                http://crlab.com/sdac/

                bye,
                Helmut

                PS: würde ADO-Entscheidung nicht von 'Database Workshop' abhängig machen, das eine ist doch was ich selber wie programmiere und das andere ein ordentliches Tool zum Verwalten des SQL Servers, aber da gibt es andere Möglichkeiten (zB. Kauf der SQl Server Developer CD [ca 60 Euro], damit hat man nicht nur alle Server Versionen sondern auch den Enterprise Manger und man darf die MSDE (ohne EM) mit der eigenen Applikation frei weitergeben!

                Comment

                Working...
                X