Announcement

Collapse
No announcement yet.

Welche Verbindung zur DB2 for ISeries

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

  • Welche Verbindung zur DB2 for ISeries

    Hi Leute, <br><br>
    momentan habe ich mehrere Postings, wo mir aus diversen Gründen über eine ODBC / BDE Verbindung abgeraten wird.<br><br>
    Da ich Datanbanktechnisch nicht gerade ein Held bin, würde mich interessieren ob Leute hier Erfahrung mit DB2 / ISeries und Delphi haben. Oder welche Anbindung sich am besten Eigenet. Folgende Anforderungen müssen dabei beachtet werden:<br><br>
    - Verwaltung kleinerer Tabellen (max. 100000 Datensätze) über die Datensteuerungskomponenten<br><br>
    - Multiuser-Einsatz (incl. Satzsperren usw.) für bis zu 15 User<br><br><br><br>
    Folgende Erfahrungen habe ich bis jetzt gemacht:<br><br>
    <b>BDE (TTable und TQuerey):</b> Bei der BDE bekomme ich bei den Functionen Refresh bekomme ich die Meldung "Operation wird nicht unterstützt. Tabelle ist nicht eindeutig indiziert!", obwohl meine Tabelle (eindeutig/UNIQUE) indiziert ist. <br><br>
    Datensätze kann ich zwar Updaten und Hinzufügen, aber aus irgendwelchen gründen, werden diese Sätze beim ändern nicht gesperrt. <br><br>Meine Indizes werden nicht erkannt.<br><br>
    <b>ADO:</b> Bei ADO werden meine Indizes zwar erkannt, ich kann auch Datensätze hinzufügen. Nur ich kann nichts in die Datensteuerungkomponenten eintragen (Read Only ist false ;-))<br><br>

  • #2
    Hallo Frank,

    ich hänge mit ADO an einem MS SQL-Server und arbeite mit DBEdits und TADODataset. Läuft eigentlich alles ganz prima und auch schnell.

    Ich kann in meinen Edits soviel eingeben, wie der Datentyp hergibt....

    Liegt da vielleicht noch ein anderes Problem vor?

    Grüße

    Juli

    Comment


    • #3
      Probiers mal mit <a href="http://www.sqldirect-soft.com/">sqldirect</a>

      Im Normalfall sind mit Native-Schnittstellen die wenigsten Probleme zu erwarten. ADO ist für DB2 AFAIK auch nur eine Zwischenschicht die auf den native-Treiber der DB aufsetzt

      Comment


      • #4
        Hi Julia,<br><br>
        ich werde mit ADO noch mal ein wenig Testen.<br><br>
        @Bernhard eigendlich dachte ich mehr an Borland Bordmittel, DB2 ist ja nunmal keine ausergewöhnliche Datenbank.<br><br>
        Von der BDE wird abgeraten da sie nicht weiterentwickelt wird. In einem anderen Posting habe ich gelesen, das ADO auch nur für Quick and Dirty Lösungen erstellt wurde. Also bietet Borland keinen wirklich gute Schnittstelle zu anderen Datenbanken. Oder sehe ich das falsch

        Comment


        • #5
          Hallo Frank,

          falls Du dich mit 'ADO Quick and Dirty' auf mein Posting beziehst: Ich meinte nur die Komponente TADOTable. Diese ist nur dazu gedacht, bestehende BDE-Apps mit TTable schnell umstellen zu können, eben unter Verwendung von TADOTable. Für neue Projekte sollte man TADOTable aber nicht verwenden...

          Und eben teilweise wird hier im Forum empfohlen auch auf TADOQuery zu verzichten und statt dessen TADODataSet zu verwenden.

          Grüße

          Joche

          Comment


          • #6
            Hallo Frank,

            soweit ich weiss, sind die ADOQuery und ADOTable nur zum Konvertierung zur Vefügung gestellt und mit Vorsicht zu geniessen.

            ADODataset und ADOconnection kapseln die nativen (Microsoft) ADO-Elemente. Die kann man mit etwas mehr Aufwand auch direkt ansprechen, das ist dann der schnellste Weg...

            Die von Borland zur Verfügung gestellten Elemente sind in der Handhabung etwas bequemer, wenn die Anwendung nicht so zeitkritisch ist.

            Von Quick and Dirty habe ich da eigentlich noch nichts gehört, gerade im Zusammenhang (bei meiner Aufgabe) mit dem MS-SQL-Server wird einem eigentlich immer nur dazu geraten.

            Grüße

            Juli

            Comment


            • #7
              Hallo Julia,

              also um das mit dem 'Quick and Dirty' zu Ende zu bringen. Das resultiert aus meinem Posting 13 dieser Diskussion: http://www.entwickler-forum.de/webx?128@@.2cb7d26b und bezog sich nur und ausschließlích auf TADOTable. Von TADOQuery wußte ich das nicht mal. Deshalb auch meine Empfehlung hier im Forum nach den Stichwörtern zu suchen (was offensichtlich nicht passiert ist...)

              Grüße

              Joche

              Comment


              • #8
                @Frank ter Duis

                Dann hättest Du noch als Bordmittel den in D7 verfügbaren dbExpress-Treiber. Dieser sollte auch Native aufsetzen. Hier benötigst Du auch noch den Fix für D7+DB2 von der Downloadseite Borland

                Comment


                • #9
                  @Jochen Sorry, aber das mit der "Quick and Dirty"-Sache habe ich dann wohl falsch verstanden.<br><br>
                  Zur Diskussion hier, hab ich das also jetzt richtig verstanden, daß um auf Externe DB zuzugreifen die Komponenten von <br><br>
                  - dbExpress<br><br>
                  - und von ADO die Komponenten ADODataset und ADOconnection<br><br>
                  ganz brauchbar sind

                  Comment


                  • #10
                    @Berhard<br><br>
                    Da Du das mit dem DB2 Fix so auf "anhieb" weißt, hast Du Erfahrung im Umgang mit DB2

                    Comment


                    • #11
                      Hallo Frank,

                      deswegen hab' ich das ja noch mal richtig gestellt.

                      DBExpress hat, meiner Meinung nach, einen gravierenden Nachteil: Es liefert nur unidirektionale Datenmengen... Das bedeutet z.B. das man keine DBGrids verwenden kann.

                      Grüße Joche

                      Comment


                      • #12
                        Hallo Frank,

                        pack noch die ADOCommand-Komponente dazu. Die kapselt das native command-element. Ist unverzichtbar.

                        Mit dieser Dreierkonstellation kannst du dann fast alles machen.

                        Grüße

                        Juli

                        Comment


                        • #13
                          Ich habe gerade mal dbExpress ausprobiert. Und was ich daran gut finde, das ein konkreter DB2-Treiber existiert. Aber wenn ich eine Verbindung herstellen will, bekomme ich immer die Fehlermeldung <b>"dbExpress Fehler: Anwendung für diese Funkion nicht lizensiert!"</b> .... was muß ich da noch lizensieren

                          Comment


                          • #14
                            @Jochen Was ist unidirektionale???

                            Comment


                            • #15
                              Hi Frank,

                              unidirektional bedeutet nur in eine Richtung, Du kannst also immer nur einen Datensatz vorwärts gehen, aber nicht zurück. Deswegen funtkioniert das DBGrid ja auch nicht. Was würde es für einen Sinn machen, ein DBGrid zu haben, in dem man nur einmal bis zum Ende der Tabelle blättern kann, aber nicht mehr zurück...

                              Zur Fehlermeldung kann ich leider nichts sagen.

                              Grüße Joche

                              Comment

                              Working...
                              X