Announcement

Collapse
No announcement yet.

Wie greife ich auf einen Firebird-Server zu bzw. lege eine Datenbank an?

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

  • Wie greife ich auf einen Firebird-Server zu bzw. lege eine Datenbank an?

    Hallo Leute,

    bei uns ist jetzt gerade ein Firebird-Server installiert worden.

    Auf meinem Rechner wollte ich nun testen, ob ich Zugriff darauf habe. Doch beim Versuch, die TDatabase-Komponente auf das Formular zu ziehen, kam direkt die Fehlermeldung.
    Muß auf meinem Rechner noch ein Firebird-Client installiert werden?

    Wird dann bei der Firebird-Installation auf meinem Rechner auch das Programm IBConsole mitinstalliert? Falls Nein, mit welchem Proggi kann ich dann schnell eine Datenbank unter Firebird anlegen?

    Grüße,
    Carsten

  • #2
    Hallo Carsten,<br><br>
    Welche Fehlermeldung bekommst Du? Mit der Verwendung von TDatabase nehme ich an, dass Du die BDE verwenden möchtest? Wenn ja, dann muß natürlich auch der SQL Link für InterBase installiert sein (es gibt keinen SQL Link für Firebird). Da nun aber die BDE offiziell für tot erklärt wurde, würde ich für neue Projekte nur mehr native Zugriffskomponenten verwenden (IBObjects, FIBPlus).<br><br>
    Die IBConsole wird nicht mitinstalliert, sondern man ist hier zu Beginn auf die Kommandozeilentools <i>isql.exe, gbak.exe, gsec.exe, ...</i> angewiesen oder man besorgt sich eine der vorhandenen frei verfügbaren Admin-Tools. Eine Liste gibt es hier http://www.ibphoenix.com<br><br>
    Gruss,<br>
    Thomas Steinmaurer<br>
    IB LogManager 2.1 - The Logging/Auditing Tool for InterBase and Firebird<br>
    http://www.iblogmanager.com<br&gt
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      Hi Thomas,

      ich bekomme folgende Fehlermeldung:
      "InterBase-DLL gds32.dll wurde im Pfad nicht gefunden."

      Die BDE möchte ich nicht verwenden. Ich wollte nur die Komponente TIBDataset benutzen. Ich wollte definitiv ohne BDE arbeiten, also ohne TIBTable und ohne TIBQuery.

      Der Fehler tritt also direkt auf, wenn ich versuche, die "TIBDataset"-Komponente auf das Formular ziehe. TDatabase, wie ich im 1.Posting erwähnt habe, war natürlich ein Fehler.

      2. Zu den nativen Zugriffskomponenten:
      Sehe ich richtig, daß die Komponenten, die du erwähnt hast (also IBOjects und FIBPlus), nicht kostenlos sind?
      Gibt es eigentlich auch reine Open-Source Zugriffskomponenten auf Firebird?

      Grüsse,
      Carste

      Comment


      • #4
        Hallo Carsten,<br><br>
        von welcher Firebird Version sprechen wir? v1.0 Final oder v1.5 Alpha? Bei Firebird 1.0 wird die gds32.dll mit der Installation in das Windows-Systemverzeichnis kopiert. Bei v1.5 Alpha handelt es sich nur um ein ZIP-Archiv, wo sich die beiden Client-DLLs <i>fbclient.dll</i> und <i>gds32.dll</i> im Firebird\bin Verzeichnis befinden. Diese beiden Dateien müssen manuell ins Windows-Systemverzeichnis kopiert werden. Wie bereits im anderen Thread erwähnt, gibt es mit Firebird 1.5 Alpha und IBX das Problem, dass eine Access Violation auftritt, weil die Client-DLLs keine Versionsinformationen beinhalten.<br><br>
        Zu den Zugriffskomponenten: Ja, beide sind kommerzielle Produkte, allerdings ist IBObjects unter der sogenannten <b>Trustware License</b> erhältlich ( http://www.ibobjects.com/ibo_Trustware.html ), die einen sehr interessanten Ansatz für die Registrierung darstellt. Außerdem kann man von IBObjects unterschiedliche Module separat erwerben, ohne das komplette Paket kaufen zu müssen.<br><br>
        Eine Möglichkeit für Open-Source Zugriffskomponenten ist Zeos ( http://www.zeoslib.org/ ), allerdings hab ich dazu keine Erfahrungswerte, um hier konkret etwas dazusagen zu können.<br><br>
        Gruss,<br>
        Thoma
        Thomas Steinmaurer

        Firebird Foundation Committee Member
        Upscene Productions - Database Tools for Developers
        Mein Blog

        Comment


        • #5
          Hallo Thomas,

          wir verwenden Firebird Version 1.0, welches auf dem Server (also nicht mein Delphi Entwicklungsrechner) liegt.

          Nachdem wir auf meinem Delphi-Rechner die "Interbase 6.0"-Version von der "Borland Delphi 6"-CD installiert haben, ist der Fehler aus den obigen beiden Postings verschwunden. Die IBConsole ist übrigens automatisch mit installiert worden.

          Nun habe ich jedoch ein neues Problem:
          Beim Versuch eine neue Datenbank per SQL-Script über die IBConsole auf den Firebird-Server anzulegen erscheint folgende Fehlermeldung

          <PRE> Warning:
          The Client dialect does not match the database dialect.
          Database dialect (1) does not match client dialect (3).
          </PRE>

          Nach dem Klick auf den OK-Button erscheint eine weitere Fehlermeldung:

          <PRE>SQL-Error:
          I/O error for file "\\Server\C:\Daten\Test.gdb"
          database or file exists
          Database: \\Server\C:\Daten\Test.gdb
          </PRE>

          Wo liegt das Problem? Habe ich evtl. den Namen der Datenbank falsch geschrieben, sprich Syntax-Problem?
          Kannst Du mir bitte ein Mini-Script schicken, mit dem es auf jeden Fall funktionieren müßte?

          Auf dem Firebird-Server ist bereits eine angelegte Datenbank vorhanden. Kann ich mir mit Hilfe eines Tools die SQL-Anweisung zum Erstellen dieser Datenbank ausgeben?

          Viele Grüsse und danke für Deine kompetente Hilfe,
          Carste

          Comment


          • #6
            Es ist besser lokal den Firebird-client zu installieren.
            Das funktioniert mit der Serverversion; einfach auf "client only"
            bei der Installation umstellen.
            Übrigens hat die IBConsole Probleme mit Firebird ( vor allem bei
            Client 3 Datenbanken

            Comment


            • #7
              Ein wirklich geniales Admin-Tool ist IB-Expert (www.ibexpert.com). Es gibt dort auch eine Personal Edition (http://www.hksoftware.net/download/). In dem Tool gibt es auch einen SQL-Monitor und einen DDL-Extractor, dort kannst du dann sehen, wie es hinter den Kulissen läuft.

              Das Problem liegt daran, daß Firebird/IB zwei Dialekte unterstützt, wobei sich hauptsächlich Datum/Zeit Felder unterscheiden. Genaueres steht in der IB-Doku.

              Die Zeoslib funktioniert relativ gut. Ein Nachteil sind jedoch die relativ seltenen Updates.

              -------------------------
              May the source be with yo

              Comment


              • #8
                So Problem gelöst (Posting 4):

                Die IBConsole hatte bereits ein GDB-File angelegt. Dies konnte ich bei mir allerdings erst dann sehen, nachdem ich in
                "IB Expert Personal Edition" (Danke für den Tip, Stefan)
                die Datenbank registriert habe.

                Ich habe sie gelöscht und das Script ein wenig umschreiben müssen, da beim Ausführen des Original-Scripts in IBExpert die Fehlermeldung in der Art "Konnte nicht zur Datenbank connecten" kam.

                Jetzt habe ich folgenden Einleitungs-SQL-Code geschrieben:
                <PRE>
                SET SQL DIALECT 3;
                SET NAMES ISO8859_1;

                CREATE DATABASE 'Server:C:\Daten\Test.gdb' PAGE_SIZE 4096
                /* Es funktioniert übrigens auch: '\\Server\C:\Daten\Vertrag3.gdb */
                USER 'SYSDBA' PASSWORD 'masterkey'
                DEFAULT CHARACTER SET ISO8859_1;

                CONNECT 'TBHNT09:C:\Daten\Vertrag2.gdb' // dies ist neu
                USER 'SYSDBA' PASSWORD 'masterkey' // dies ist neu
                CHARACTER SET ISO8859_1; // dies ist neu
                </PRE>

                Nach der Einleitungs-SQL läuft der Code dann wie bisher ab;
                CREATE DOMAIN, CREATE TABLE usw...

                @ Stefan (Posting 6):
                Du erwähntest etwas von einem DDL-Extractor in IBExpert. Wo ist der genau zu finden?

                @ Markus (Posting 5):
                In der IBConsole läuft jetzt übrigens das SQL-Script, was in IBExpert durchläuft, auch fehlerfrei durch (SQL 3 - Datenbank). Danke für den Tip mit "client only" bei der Installation. Unser Systemadmin meinte bei der Installation damals, wo ich ihn nach einem Firebird Client fragte, so etwas würde es nicht geben. Darum hat er mal eben InterBase 6 Client installiert. (hehehe)

                So, jetzt kann ich endlich mein neues Projekt in Firebird anfangen.

                Grüsse,
                Carste

                Comment


                • #9
                  Muß natürlich überall '...Test.gdb' heißen, damit es läuft.

                  Carste

                  Comment


                  • #10
                    DDL:

                    1. In den Tabellenansichten Reiter DDL.

                    2. Unter Menüpunkt Nützliches(!!!)->Extrahiere Metadaten

                    Pkt. 2 bietet auch die Möglichkeit mehrere Tabellen (inkl. Daten) zu extrahieren.

                    Thema IBConsole:

                    Benutze besser die IBOConsole (irgendwo auf www.ibobjects.com oder suchen). Sieht geiler aus und kann mehr

                    Comment


                    • #11
                      Hallo Stefan,

                      nochmal zu DDL. Kann ich auch für meine komplette Database (also incl. aller Tabellen und vielleicht sogar Daten) die Metadaten extrahieren?
                      Wenn ja, wie mach ich das?

                      Habe es bisher versucht über "Tools\Extract Metadata". Aber nach Angabe meines Files importiert er mir nur ein paar Zeilen, in denen steht, wie die Datenbank anzulegen ist (also ohne Tabellen und Daten).

                      Würdest Du die IBOConsole oder IBExpert Personal Edition vorziehen? Mit Begründung bitte...

                      Grüsse,
                      Carste

                      Comment


                      • #12
                        Ja, klar geht das!!!<BR><BR>
                        Keine Ahnung, was du falsch gemacht hast, aber hier mal eine kurze Beschreibung:<BR><BR>
                        1. Extrahiere Metadaten starten ;-)<BR><BR>
                        2. Reiter 'Meta Objekte' wählen.<BR><BR>
                        3. Über die Buttons, kann man jetzt zu den einzelnen Objekten Domains, Tabellen, Views usw springen.<BR><BR>
                        4. Beispiel Tabellen:<BR><BR>
                        Doppelklick auf eine Tabelle. Tabelle wird nach rechts verschoben und mit extrahiert, die anderen Objekte folgen dem gleichen Schema.
                        (Daten Tabellen funktioniert auch so)<BR><BR>
                        5. Ausgabe wählen, Combobox ganz oben, z.B. 'Script Executive'.<BR><BR>
                        6. Starten...<P>

                        Ist doch klar: <B>IBExpert!!!!</B><BR>
                        Die IBOConsole kann doch fast nix, gegenüber IBExpert. Wie du sicher merkst, bin ich ein Fan des IBExperts.<P>

                        May the source be with you.<BR>
                        -Stefa

                        Comment


                        • #13
                          Danke Stefan,

                          habe wohl Tomaten auf den Augen gehabt gestern. Habe jetzt noch unter dem Reiter "Meta Objects" die Checkbox "Extract all" gesehen. Nach Klick auf dieser wird beim anschließenden Starten des Extracts die komplette Datenbank als SQL-Script generiert.

                          Grüsse,
                          Carsten

                          P.S.: Dann kann ich mir ja das Runterladen von IBOConsole sparen,
                          Stefan, wenn es viel schlechter ist als IBExpert

                          Comment


                          • #14
                            Die IBOConsole ist halt nur eine kleine Erweiterung bzw. Fehlerkorrektur der originalen IBConsole.<BR>
                            Aber die paar Sekunden für die paar kb kann man wohl investieren, oder?<P>

                            P.S.: Hoffe mal, das bleiben hier nicht die einzigen Post

                            Comment

                            Working...
                            X