![]() |
Datenbank: Firebird • Version: 2 • Zugriff über: ZEOS
Firebird und ZEOS
Hi zusammen,
wie am Freitag schon versprochen die nächste DAU-Situation im Thema "Matashen will sich mit Datenbanken befassen" Nachdem ich es dank eurer Hilfe geschafft habe ZEOS zu installieren, hab ich kurz ein Testprogramm gebaut, natürlich mit Codeschnippsel aus dem Internet, da ich die SQL-Befehle noch nicht verinnerlicht habe... ...also wies auch sein, ich hab Firebird 2.0 lokal laufen, und verbinde dann mittels diesm Code. Eine Datenbank ist bisher noch nicht angelegt.
Delphi-Quellcode:
Nun schmeisst mir das ganze eine Exception:
procedure TForm1.Button1Click(Sender: TObject);
begin dbMain.Hostname:=edServer.Text; //Server dbMain.Database := 'd:\db1.fdb'; dbMain.Protocol := 'firebird-1.5'; dbMain.Properties.Add ('CreateNewDatabase=CREATE DATABASE ' + QuotedStr ('d:\db1.fdb') + ' USER ' + QuotedStr ('sysdba') + ' PASSWORD ' + QuotedStr ('masterkey') + ' PAGE_SIZE 4096 DEFAULT CHARACTER SET ISO8859_1'); dbMain.Connect; try finally dbMain.Connected:=False; end; if dbmain.connected then label1.caption:='YES- connected'; end; SQL-Error cannot attach to password database Firebird schreibt auch brav ins Logfile folgende Zeilen (Rechnerbezeichnung ersetzt durch MeinRechner)
Delphi-Quellcode:
MeinRechner(Server) Mon Jan 11 08:16:32 2010
WNET/wnet_error: CreateFile errno = 2 MeinRechner(Server) Mon Jan 11 08:16:32 2010 Unable to complete network request to host "Netzlaufwerk". MeinRechner(Server) Mon Jan 11 08:16:32 2010 Failed to establish a connection. MeinRechner(Server) Mon Jan 11 08:16:32 2010 Das System kann die angegebene Datei nicht finden. So jetzt brauch ich ein paar Tips. Bevor die Frage kommt, die Suche hab ich hier und beim goggerle schon benutzt. Gruß Matthias |
Re: Firebird und ZEOS
Morgen,
Du sagst Du verwendest Firebird 2.0? Versuchs mal mit dem dazugehörigen Protokoll von ZEOS:
Delphi-Quellcode:
Viele Grüße
dbMain.Protocol := 'firebird-2.0';
|
Re: Firebird und ZEOS
Hallo,
ich hoffe ich deute das Firebird-Fehlerlog richtig. Du versuchst die Datenbank auf dem Server "Netzlaufwerk" zu erstellen, weil Dein Rechner heisst ja MeinRechner. Dazu zwei Anmerkungen: 1.) Firebird kann keine Datenbanken auf fremden Rechnern über eine Netzwerk-Freigabe öffnen, sondern in diesem Fall muß auf der entfernten Maschine ebenfalls ein Firebird laufen. Der Pfad bzw. die Angabe der Datenbank ist immer aus der Sicht der lokalen Maschine anzugeben. 2.) Probier es mal auf Deinem eigenen Recher = localhost, bzw. den Hostnamen einfach leer lassen. Und dann einen Pfad zur Datenbank angeben, bei der die Platte und das Verzeichnis physikalisch auch vorhanden sind. Vorsicht bei Vista / Win7 - nicht unbedingt C:\db.fdb! Gruß HondaGL1 Zitat:
|
Re: Firebird und ZEOS
Hallo,
Firebird ist also lokal auf deinem Rechner installiert ? Dann sollte es so gehen.
Delphi-Quellcode:
Ist Firebird auf einem anderen Rechner,
dbMain.Database := 'localhost:d:\db1.fdb';
ersetzt man localhost entweder durch dessen - DNS-Namen - Rechner-Namen - IP Im Firebird-Verzeichnis steht übrigens eine aliases.conf. Das ist eine normale Textdatei. Schreibt man dort z.B. rein mydb = d:\db1.fdb kann man dann so schreiben
Delphi-Quellcode:
dbMain.Database := 'localhost:mydb';
Heiko |
Re: Firebird und ZEOS
Liste der Anhänge anzeigen (Anzahl: 1)
Danke erstmal für die Feedbacks,
hab hier noch eine Frage zu dem Punkt Zitat:
Es wäre für mich aber eleganter die DB auf einem Netzlaufwerk anzulegen, da die Netzlaufwerke hier automatisch gesichert werden. Als System läuft W2K, sollte also mit Zielort der DB keine Probleme geben. Die Datenbank D:\db1.fdb existiert im üßbrigen noch nicht. Diese wollte ich ja erstmal erstellen und dachte der Befehl
Delphi-Quellcode:
würde das machen.
dbMain.Properties.Add ('CreateNewDatabase=CREATE DATABASE ' + QuotedStr ('d:\db1.fdb') + ' USER ' + QuotedStr ('SYSDBA') + ' PASSWORD ' + QuotedStr ('masterkey') + ' PAGE_SIZE 4096 DEFAULT CHARACTER SET ISO8859_1');
Den Firebirdserver hab ich als Dienst installier nach dieser Anleitung ![]() Ich hab jetzt versucht als Server localhost einzutragen und die Zieldb auch in aliases.conf Die Exception wird im übrigen imme rnoch ausgelöst. Hab die mal als Bild angehängt. Er sagt auch er könne die Message nicht mitlogen, er macht das aber trotzdem !? Gruß Matthias |
Re: Firebird und ZEOS
Hallo,
schnapp dir ibexpert (personal), lege die DB damit an. Nochmal zum Netzlaufwerk. Die DB (db1.fdb) hat dort nix zu suchen ! Kann es sein, dass du Firebird auch nach installiert hast ? Alles falsch ! ;) Wenn es ums sichern geht, sollte eh ein Backup gemacht werden. Eine geöffnete Word-Datei sichern wir ja auch nicht ... Folgende 2 Zeilen erzeugen ein Backup + Restore (gbak steht im Firebird-Verzeichnis, PATH drauf oder vollständigen Pfad angeben) Die Data.fbk/Restore.fdb kommen dann auf das Netzlaufwerk, wenn du willst per "geplante Vorgänge" gbak -b data.fdb data.fbk -user sysdba -pass masterkey gbak -c data.fbk restore.fdb -user sysdba -pass masterkey Noch mal zum Mitschreiben. Auf einem Netzlauferk hat eine Datenbank + Datenbank-Datei nichts zu suchen. Heiko |
Re: Firebird und ZEOS
Würde Dir im ersten Schritt raten Dir FlameRobin bei sourceforge zu besorgen. Oder wie hoika schrieb den IBExpert (volle Version kostet allerdings). Dann kannst Du Deine Datenbank erstmal damit anlegen, damit Du eine Startgrundlage hast.
Datenbanken können durchaus auf Netzlaufwerken liegen, aber dort nicht mit dem Firebird von Deiner Maschine angesprochen werden! Auf der Maschine, welche die Netzlaufwerke zur Verfügung steht muß dann ebenfalls ein Firebird installiert sein. Als Hostname wird dann der Name dieser Maschine verwendet und die Angabe der Datenbank wiegesagt aus lokaler Sicht des Servers!! (wichtig!!) Server MEINSERVER hat D:\ freigegeben als Daten -> Client verbindet diese Freigabe als U:\ -> Ansprache der Datenbank mit MEINSERVER:D:\db.fdb. Alle Clients, welche die Datenbank auf dem entfernten Server ansprechen wollen, brauchen lediglich die Client-Installation (siehe hierzu im bin-Verzeichnis von Firebird instclient). Wenn Du auf Deiner Maschine allerdings programmierst etc. dann würde ich den Server auch dort installieren. |
Re: Firebird und ZEOS
Ich hab jetzt mal meinen FBServer auf D: umgesiedelt, und wenn ich mit localhost:3051 (mein Port) verbinde, dann erstellt er mir sogar die Datenbankdatei.
Flamerobin hab ich auch runtergeladen. Flamerobin bringt mir aber einen Fehler wenn ich auf Firebird zugreifen will. Ich werd jetzt mal gucken in der db nen Datensatz zu erstellen. Die nächste DAU Frage kommt bestimmt. Gruß Matthias |
Re: Firebird und ZEOS
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz