Announcement

Collapse
No announcement yet.

eigener Datenbankserver

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

  • eigener Datenbankserver

    Hi Leute, ich möchte für eine Anwendung einen Datenbankserver schreiben, der díe Datebbankzugriffe kapselt. Der Server muss vom Client die ODBC-DSN und den Server Typ (Interbase, Oracle, Sybase, MS SQL Server) mitgeteilt bekommen. der Server selbst soll auf einem eigenen Rechner unter einem eigenen Port laufen. Wie lässt sich das unter Delphi 5 realisieren ?

  • #2
    ? Ich verstehe noch nicht so den Sinn der Aktion? Jede Datenbank hat doch den Server... sonst würds ja nicht funktionieren....

    Fran

    Comment


    • #3
      Ich glaub ich weis was er damit bezwecken will er will eine DB Schnittstellen haben die immer gleich ist also der Server.
      Wenn er die Datenbank ändern möchte kann er das einfach so tun in dem er den Server umschreib

      Comment


      • #4
        Ja, aber wieso am Server? Das gehört doch nun an den Client - dafür gibts doch das Datenmodul das dann einfach ersetzt wird.

        Das ist das was ich nicht verstehe. Wieso sollte ich also einen Server programmieren der einfach schon da ist?

        VG

        Fran

        Comment


        • #5
          Hallo!<br>
          @Thorsten<br>
          Vielleicht hilft Dir hier der Multi Tier Ansatz weiter.<br>
          Alle Datenbankzugriffe finden zentral am Applikationsserver statt. Alle Clients müssen sich an den Applikationsserver wenden, um Daten zu erhalten.<br>
          Der Datenaustausch selbst findet mit Hilfe von ADO recordsets statt. Diese lassen sich leicht transportieren und bieten auch am Client ein Maximum an Komfort, da sie sich einfach einem ADODataSet unterschieben lassen.<br>
          Zum Server:<br>
          Da alle Datenbankzugriffe zentralisiert ablaufen kann ich am Server auch leicht unterschiedliche Datenbanken ansprechen. Auch hier bietet sich ADO an. Am besten läuft die Sache, wenn ein OLE DB Treiber vorhanden ist. Interbase hat leider keinen aber hier kann man unter ADO auch auf einen ODBC Treiber ausweichen.<br>
          Bei uns funktioniert das alles wunderbar.<br>
          Der Client braucht keine Lizenz für den Datenbankserver und die Performance bei vielen Arbeitsplätzen ist einfach SUPER.<br>
          Als echter Fan muß ich hier nochmals die entsprechenden Bücher von Hr. Kosch empfehlen.<br>
          BYE BERN

          Comment


          • #6
            @Bernd.

            Hi, das Interessiert mich ja nun. Multi-Tier Anwendungen habe ich bis jetzt noch nicht programmiert. Bei der Skizzierung Deiner Umgebung habe ich jetzt aber noch nicht den Unterschied zwischen herkömmlichen Client/Server-Systemen mit ADO/ODBC-Schicht und Deiner Mulit-Tier Lösung gesehen. Was soll den der Applikationsserver machen wenn die ADO und ODBC-Quelle auf dem Client ist...oder ist die auf dem Applikationsserver?

            Viele Grüße

            Fran

            Comment


            • #7
              Ich bezwecke mit dem eigenen Server zum einen die Datenbankschnittstelle zu Kapseln und zum anderen die Anzahl der Clientzugriffe (maximal gestartete Clients) je nach Lizenz (das Lizenzsystem programmier ich selbst) einzuschränken. Der Server selbst führt auch die SQL-Abfragen aus und schickt die Ergebnisse nur noch an die Clients. Um jedoch nicht die BDE installieren zu müssen will ich das ganze über ODBC machen. Bietet sich hierfür wirklich ADO an?
              @Bernd du hast richtig erkannt worum es mir geht. Die ADO Schnittstelle von MS ist ja eh auf den meisten Systemen installiert, so dass ich da nicht grossartig Dateien weitergeben muss oder

              Comment


              • #8
                Hallo!<br>
                @Frank<br>
                Client/Server = Auf allen CLients muß die Datenbankschnittstelle inkl. Lizenz installiert sein 100 Lizenzen sind da doch schon recht teuer.<br>
                Multi Tier = Die Datenbankschnittstelle ist nur auf dem /auf den AP Server(n) installiert. Der AP Server baut jetzt Verbindungen zum Datenbankserver nur nach Bedarf auf. Wenn Du Dir mal eine Anwendung wie in einem Call Center ansiehst: Sehr wenig effektive verbinbindungszeit und sehr viel Zeit ohne Datenverkehr. Da der AP nur bei Bedarf Verbindungen aufbauut genügen ca. 8 Lizenzen um 250 Arbeitsplätze zu bedienen (war ein kleiner Test bei uns in der Firma) 250 zu 8 klingt doch nicht schlecht oder?<br>
                <br>
                @Thorsten<br>
                ja warum denn nicht. Einzig die Version der installierten MDAC gilt es zu prüfen. Die sollte schon auf allen Rechnern aktuell sein.<br>
                Außerdem gibt es für die Standard Installtionsprogramme MergeModule, die Dir die Installation abnehmen.<br>
                BYE BERN

                Comment


                • #9
                  @Bernd: Vielen Dank für die Info
                  weisst du vielleicht auch noch wie ich bei Threadbasiertem Clientsocket/Serversocket die exakte anzahl der verbundenen Clients rausfinden kann? Muss ja auch falls es zu viele Zugriffe sind die Meldung schicken können, dass es zu viele Verbindungen sind

                  Comment


                  • #10
                    Moin,

                    >> Da der AP nur bei Bedarf Verbindungen aufbauut genügen ca.
                    >> 8 Lizenzen um 250 Arbeitsplätze zu bedienen

                    Alle modernen Datenbank (SQLServer,Oracle,DB2,Interbase) und wahrscheinlich auch alle anderen kostenpflichtigen Datenbanken haben ein userabhängige Lizenzierungsmodell das Multiplexingtechniken wie von Bernd beschrieben explizit ausschließt. Das bedeutet auch bei nur 8 nötigen Verbindungen brauchen doch alle 250 möglichen User eine Lizenz.

                    Grüße
                    Ralf Janse

                    Comment

                    Working...
                    X