Announcement

Collapse
No announcement yet.

interbasezugriffskomponenten

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

  • interbasezugriffskomponenten

    hi,

    ich habe ein delphi-projekt, welches mit hilfe eines firebirdservers auf eine interbase-datenbank zugreift.

    in dem projekt sind folgende interbasezugriffskomponenten.

    IBDatabase<br>
    IBTransaction<br>
    IBQuery<br>
    DataSource<br>

    welche komponente brauche ich wofür?
    datasource und ibquery kann ich mir zusammenreimen, aber die anderen beiden sind mir unklar!

    gruß

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Hallo Markus,

    mit IBDatabase stellst du die Verbindung zur Datenbank her. In der Eigenschaft DatabaseName trägst du das Datenbankfile ein. (Im Netzwerk am besten "TCP/IP-Adresse:C:\daten\file.gdb")
    In den Parametern:

    user_name=SYSDBA<BR>
    password=masterke<BR>
    lc_ctype=WIN1252

    Mit der Komponente IBTransaction übernimmst du die Transaktionskontrolle in deinen Programm. Die muß dann bei IBDatabase in der Eigenschaft Defaulttransaction eingetragen werden.

    Gruß Bern

    Comment


    • #3
      password=masterke<B>y</B&gt

      Comment


      • #4
        hi ihr beiden,

        danke!

        jetzt ist ja die sache, die dass man in IBDatabase den pfad für das programm angibt.
        wie bekomme ich es gebacken, dass der kunde den pfad selber wählen kann so wie bei der borland database engine?

        gruß

        marku
        Herzliche Grüße

        Markus Lemcke
        barrierefreies Webdesign

        Comment


        • #5
          Hallo Markus,

          Du fragst halt zur Laufzeit den benutzer und trägst es dann entsprechend ein. Allerdings muß die pfadangabe immer aus Sicht des Datenbankservers erfolgen. Solange alles lokal läuft ist i.d.R. der normale Pfad. Wenn sich der Server im Netz befindet dann darf nicht mit Freigabenamen der Netzresourcen gearbeitet werden, sondern es muß der Orignalpfad auf dem Server verwendet werden.

          Tschüß

          Torste

          Comment


          • #6
            hi torsten,

            kann ich den pfad auch aus einer INI-DATEI auslesen lassen? meine frage ist halt, wenn das delphi-programm startet, braucht es doch schon einen pfad um auf die datenbanken zugreifen zu können! an welcher stelle, sollte so eine benutzerfrage oder ein lesen aus dem ini-file erfolgen?

            dann noch eine frage. in dem beispielprojekt wird auch ein datenbank-navigator verwendet. dass navigieren zwischen bestehenden datansäten geht, aber die schalter für hinzufügen, löschen usw. sind nicht aktiv! warum?

            gruß

            marku
            Herzliche Grüße

            Markus Lemcke
            barrierefreies Webdesign

            Comment


            • #7
              Hallo Markus,

              klar kannst Du den pfad aus einer Ini-datei auslesen oder aus der Registry oder, oder, oder...

              Vor dem ersten zugriff auf die datenbank muß halt der Pfad eingestellt sein. Wann das erste mal auf die DB zugegriffen wird entscheidest doch Du als Programmierer.

              Update/Insert/Delete siehe <a href="/WebX?14@@.2cb7cfa3">Tina von Hagenau "Abs. Anfänger: IB-DB auslesen und editieren?" 04.10.2003 11:39</a>

              Gruß

              Torste

              Comment


              • #8
                hi torsten,

                habe halt gedacht, dass die beim programmstart vielleicht schon geladen werden.
                danke für den link.

                gruß

                marku
                Herzliche Grüße

                Markus Lemcke
                barrierefreies Webdesign

                Comment


                • #9
                  hi torsten,

                  habe mir den link durchgelesen, aber tina verät ihre lösungen nicht sie schreibt immer "jetzt funktioniert es", aber nicht warum.
                  hängt es mit dem ibdataset zusammen?
                  wenn ja, wie wird das verwendet?

                  gruß

                  marku
                  Herzliche Grüße

                  Markus Lemcke
                  barrierefreies Webdesign

                  Comment


                  • #10
                    Hallo Markus,

                    mit IBX arbeitet man relativ nah am Server, so dass es im direkten Vergleich zur BDE zwangsläufig etwas unbequemer - aber dafür deutlich flexibler - ist. Mit dem TIBDataSet verhält es sich so. Du muss:

                    1. Eine Verbindung zu TIBDataBase herstellen.

                    2. Die TIBDataSet-Eigenschaft <b>SelectSQL</b> über den Objektinspektor (Dialog) ausfüllen.

                    3. Einen rechten Mausklick auf die TIBDataSet-Komponente machen, um dort den Menüpunkt <b>DataSet-Editor</b> aufzurufen.

                    4. Im Dialog die Primärschlüsselspalte bestimmen sowie die zu aktualisierenden/einzufügenen Spalten festlegen. Danach über den Button <b>SQL generieren</b> die dazu passenden INSERT-, UPDATE- und DELETE-Anweisungen erzeugen lassen.

                    5. Alle SQLs von Hand prüfen bzw. nachbearbeiten, wenn es auf zusätzliche Feinheiten ankommt.

                    6. Nicht vergessen, dass man sich bei IBX im Gegensatz zur BDE selbst um die Transaktionen kümmern muss. Je nach Anforderung muss man daher auch mit >= 1 Instanz von TIBTransaction hantieren.

                    P.S: In meinem Buch <i>InterBase Datenbankentwicklung mit Delphi</i> ist eine ausführliche Schritt-für-Schritt-Anleitung auf den Seiten 19 bis 36 zu finden

                    Comment


                    • #11
                      hi andreas,

                      das DataSet-Editor-Menü kommt bei mir nicht!
                      kommt nur ein feld-editor!

                      bin schon etwas lang aus der materie draußen. was meinst du mit transaktionen und selber kümmern?

                      gruß

                      marku
                      Herzliche Grüße

                      Markus Lemcke
                      barrierefreies Webdesign

                      Comment


                      • #12
                        Hallo Markus,

                        &gt;..nur ein feld-editor.

                        Du darfst kein Doppelklick auf TIBDataSet machen, sondern nur einen einfachen Klick mit der rechten Maustaste - dann blendet sich das Popup-Menü von TIBDataSet ein.

                        &gt;..transaktionen und selber kümmern.

                        Ein <i>Relationales Datenbank-Managementsystem</i> (RDBMS) wie der InterBase verhält sich über die Transaktionen so, als ob immer nur ein einziger Benutzer mit der Datenbank arbeitet. Die Transaktionen stellen "virtuelle Grenzen" dar, um die parallel arbeiteten Anwender voneinander abzuschotten. Es gibt verschiedene TIL (Transaction Isolation Level), um das Verhalten der SQL-Datenbank an die eigenen Anforderungen anpassen zu können. Wenn man selbst mit den Transaktionen hantieren muss (was bei IBX immer der Fall ist), kommt man nicht um die ganze Theorie herum. Du wirst also mindestens ein Buch vollständig lesen müssen :-)

                        Falls Du einen Weg suchst, der bequemer ist, stellt der neue Zugriffsweg BDP.NET (Borland Data Provider for .NET) eine Alternative dar. Dort kapselt die Klassen die Internas ein, so dass es fast wieder so bequem wie bei der BDE ist. Allerdings ist BDP.NET nur im C#Builder und in Octane (Delphi für .NET) verfügbar. Dafür kann dann das eigene Programm über BDP.NET nicht nur auf den InterBase (6/7), sondern auch auf anderen konstenfreie SQL-Datenbanken (wie die Microsoft MSDE 2.0) zugreifen

                        Comment


                        • #13
                          hi andreas,

                          beim rechten mausklick kommt ein <b>datenbank-editor</b> wo ich benutzername usw. eintragen kann!

                          dein net-vorschlag in ehren, aber dann muss ich delphi.net kaufen! mhm... mein versuch die datenbank zu wechseln scheint schwieriger als gedacht! angenommen ich kaufe mir das buch (wie heißt es nochmal) von dir und lerne mich da ein! wie hoch ist die gefahr, dass ich aus welchen gründen auch immer, bald wieder wechseln muss?

                          gruß

                          marku
                          Herzliche Grüße

                          Markus Lemcke
                          barrierefreies Webdesign

                          Comment


                          • #14
                            achja, kann es daran liegen, dass ich noch mit delphi 5 arbeite, dass wir unterschiedliche menüs haben
                            Herzliche Grüße

                            Markus Lemcke
                            barrierefreies Webdesign

                            Comment


                            • #15
                              Hallo,

                              &gt;..dass ich noch mit delphi 5 arbeite...

                              nein - wahrscheinlich hast Du nur eine Uralt-Version von IBX. Schaue mal bei <i>http://codecentral.borland.com/codecentral/ccweb.exe/author?authorid=102</i> vorbei, und lade dort das IBX-Patch <b>IBX 5.04 for D5 (SP1)</b> herunter.

                              P.S: Wie dort zu sehen ist, gibt es seit einiger Zeit nur noch neue IBX-Versionen für Delphi 6 und 7. Die aktuellen Versionen IBX 6.08 (Delphi 6) und IBX 7.08 (Delphi 7) steht unter D5 nicht mehr zur Verfügung

                              Comment

                              Working...
                              X