Announcement

Collapse
No announcement yet.

Einsatz von MTS und MIDAS und ADO

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

  • Einsatz von MTS und MIDAS und ADO

    Hallo,

    ich habe soeben das Buch COM/DCOM mit Delphi von Andreas zugeschlagen und habe mit einem flauen Gefühl im Magen das Kapitel MTS beendet. Offensichtlich wirft der Einsatz der BDE im Zusammenspiel mit dem MTS einige Probleme auf. Wir möchten daher bei Umgehung der BDE ADO Connections zu unseren Datenbanken (Oracle + MS-SQL Server) verwenden.
    Hat jemand Erfahrungen diesbezüglich gesammelt?
    Gibt es weiterführende Literatur zu diesem Themenbereich?
    Kann jemand Empfehlungen aussprechen?

  • #2
    Hallo,

    von Microsoft wurde <b>ADO</b> primär für <b>VBScript</b> (Aufruf aus ASP-Seiten heraus) und <b>Visual Basic</b> und <b>VBA</b> konzipiert. Daher findet man auch in diesem Bereich umfangreiche Literatur, wobei auch das Zusammenspiel mit dem MTS behandelt wird. Zusätzlich stellt Microsoft auch auf seinen Web-Seiten (Thema ASP) viele Artiken und Beispielprojekte (allerdings für VB) zur Verfügung. Diese Beispiele sollten sich problemlos mit Delphi nachbauen lassen. Allerdings taucht dort nicht MIDAS auf, da ADO etwas ähnliches intern implementiert.

    Mit dem Erscheinen der <b>MSDE</b> (<i>Microsoft Database Engine</i> alias <i>SQL Server 7</i>) wird der "Kundenkreis" des Themas ADO->SQL Server 7 grösser - so dass in der nächsten Auflage auch dieser Verbindungsweg auftauchen wird

    Comment


    • #3
      Hallo Herr Kosch,

      in Ihrer Antwort schreiben Sie:

      "so dass in der nächsten Auflage auch dieser Verbindungsweg auftauchen wird."

      Wann ist diese denn geplant? Gibt es nicht vorher vielleicht mal einen Artikel im Entwickler

      Comment


      • #4
        Hallo,

        das neue Buch mit dem Arbeitstitel "COM/DCOM/COM+ mit Delphi" ist in Arbeit (genauer gesagt sind die ersten 780 Seiten fertig und müssen nur noch Korrekturgelesen werden). Es fehlen allerdings noch ca. 300 Seiten zu den Neuheiten von COM+ (Windows 2000). Gegenüber dem "alten" Buch hat sich die Seitenanzahl mehr als verdoppelt.

        Wie versprochen tauchen Beispielprojekte für den MS SQL Server 7 (bzw. MSDE) auf, die aus dem MTS (COM+) heraus über ADO auf die Datenbank zugreifen. Ausserdem stelle ich einen Weg vor, wie "lebende" RecordSet-Objekte vom MTS zum Client transportiert werden, der diese via TADODataSet in den ADO-Komponenten von Delphi 5 nutzen kann (ADO-Gegenstück zu MIDAS).

        Wenn im Terminplan nichts dazwischen kommt, sollte das Buch frühestens zur nächsten Entwickler-Konferenz (September) erhältlich sein. Für die nächste Entwickler-Ausgabe ist bereits ein Artikel für den Grobüberblick "COM+ als ideale Plattform für verteilte Anwendungen" fertig, also könnte man für die übernächste Ausgabe das Thema COM+ und ADO als praktisches Beispiel anhängen

        Comment


        • #5
          Hallo Herr Kosch,

          Bin dabei COM-Objs zu entw., welche unter ASP verwendet werden.
          Verwende ich in diesen Objekten TADOConnections, so funktioniert der Datenbankzugriff, mit TDatabase mit ODBC nicht. Unsere ganze bisherige Bibliothek ist auf TDatabase aufgebaut. Gibt es da eine Lösung?

          Ein anderes Problem:
          Kann ich eine ADOConnection oder ein TDatabase-Obj in einem COM-Objekt an ein anderes COM-Obj übergeben ?

          Danke im Voraus,

          Harry Obergasse

          Comment


          • #6
            Hallo,

            in der nächsten Ausgabe von DER ENTWICKLER ist mein Artikel von mir, der sich mit diesem Thema beschäftigt. Zwei der 7 Beispielprojekte befassen sich mit dem Zugriff aus einem COM+-Objekt (alt: MTS) heraus über ADO auf eine SQL Server 7-Datenbank.

            Im Beitrag gehe ich detailliert darauf ein, warum die Übergabe eine aktiven Connection an ein anderes Objekt keine gute Idee ist. Der MTS und COM+ stellen einen <B>Datenbank-Verbindungspool</b> zur Verfügung, so dass jede einzelne Interface-Methode am Anfang eine Connection aufbauen und am Ende wieder trennen muss (damit der Pool auch wirklich funktioniert). Über das Prinzip der <B>Activity</b> regelt der MTS/COM+ über die <b>deklarativen Transaktionen</b> das Zuordnen der "zusammengehörenden" Anweisungen

            Comment


            • #7
              Hallo Herr Kosch,

              Danke das macht einiges klar.
              Die andere Frage hat für mich aber noch entscheidende Bedeutung:
              Verwende ich unter ASP in COM-Objekten TADOConnections (auf SQLServer7), so funktioniert der Datenbankzugriff, mit TDatabase mit ODBC nicht. Unsere ganze bisherige Bibliothek ist auf TDatabase aufgebaut. Gibt es da eine Lösung, ansonsten sind wir gezwungen, die komplette Bibliothek umzubauen. Puh!
              Bin übrigens auch dabei ihr Buch COM/DCOM... zu lesen!
              Anregung: Die Erklärungen, warum etwas nicht geht, sollten erst nach einem einfachen "wie's geht-Beispiel" kommen.
              Ansonsten gefällt mir das ganze gut

              Comment


              • #8
                Hallo,

                es besteht kein zwingender Grund, von ODBC auf ADO zu wechseln. Wie wurde der <b>ODBC-DSN</b> angelegt, als Datei-DSN oder als System-DSN oder gar als Benutzer-DSN? Der DSN muss auch unter dem Benutzerkonto verfügbar sein, unter dem das COM-Objekt ausgeführt wird.

                ADO stellt auch einen OLE DB-Provider für ODBC-Treiber zur Verfügung, so dass man auf diesem Weg die Funktionsfähigkeit eines ODBC-DSN nachprüfen kann. Ich verwende zum Beispiel einen ODBC-DSN, um via ADO auf eine InterBase-Datenbank zuzugreifen (denn für den InterBase gibt es noch keinen OLE DB-Provider).

                Was das Buch angeht, ist die neue Version (die in einigen Monaten verfügbar sein wird) deutlich übersichtlicher und was die Reihenfolge der Themen angeht auch Leser-freundlicher aufgebaut. Da sich die Seitenanzahl mehr als verdoppelt hat, ist auch der dazu benötigte Platz vorhanden ;-

                Comment


                • #9
                  Hallo Herr Kosch,

                  Habe das Problem endlich gefunden. Delphi5 bietet im Objektinspektor bei der TTable-Komponente im Feld Databasename die DSN zur Auswahl an. Durch die sehr ähnliche Namensgebung von DSN u. Datenbank ist mir das leider nicht aufgefallen. Klassicher Fall von Betriebsblindheit meinerseits.

                  Danke für die Tips

                  Comment

                  Working...
                  X