AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird und ZEOS

Ein Thema von matashen · begonnen am 11. Jan 2010 · letzter Beitrag vom 11. Jan 2010
Antwort Antwort
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#1

Firebird und ZEOS

  Alt 11. Jan 2010, 07:19
Datenbank: Firebird • Version: 2 • Zugriff über: 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:
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;
Nun schmeisst mir das ganze eine Exception:
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
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Firebird und ZEOS

  Alt 11. Jan 2010, 07:27
Morgen,

Du sagst Du verwendest Firebird 2.0? Versuchs mal mit dem dazugehörigen Protokoll von ZEOS:
dbMain.Protocol := 'firebird-2.0'; Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: bei Walsrode
165 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Firebird und ZEOS

  Alt 11. Jan 2010, 07:43
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 von matashen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
   dbMain.Hostname:=edServer.Text; //Server
Nun schmeisst mir das ganze eine Exception:
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.
Carsten
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Firebird und ZEOS

  Alt 11. Jan 2010, 07:49
Hallo,

Firebird ist also lokal auf deinem Rechner installiert ?

Dann sollte es so gehen.

dbMain.Database := 'localhost:d:\db1.fdb'; Ist Firebird auf einem anderen Rechner,
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

dbMain.Database := 'localhost:mydb';
Heiko
Heiko
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#5

Re: Firebird und ZEOS

  Alt 11. Jan 2010, 08:52
Danke erstmal für die Feedbacks,

hab hier noch eine Frage zu dem Punkt


Zitat:
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.
Bei mir liegt die Firebirdanwednung auf einem Netzlaufwerk. Die Datenbank die ich anlegen möchte sollte lokal auf Dzweite Partition meiner Platte) angelegt werden.
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

   dbMain.Properties.Add ('CreateNewDatabase=CREATE DATABASE ' + QuotedStr ('d:\db1.fdb') + ' USER ' + QuotedStr ('SYSDBA') + ' PASSWORD ' + QuotedStr ('masterkey') + ' PAGE_SIZE 4096 DEFAULT CHARACTER SET ISO8859_1'); würde das machen.

Den Firebirdserver hab ich als Dienst installier nach dieser Anleitung
link zu dekphi-treff

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
Angehängte Grafiken
Dateityp: bmp error_141.bmp (261,6 KB, 7x aufgerufen)
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Firebird und ZEOS

  Alt 11. Jan 2010, 09:08
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
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: bei Walsrode
165 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Firebird und ZEOS

  Alt 11. Jan 2010, 09:15
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:\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.
Carsten
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#8

Re: Firebird und ZEOS

  Alt 11. Jan 2010, 10:13
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
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: bei Walsrode
165 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Firebird und ZEOS

  Alt 11. Jan 2010, 10:55
Zitat von matashen:
Flamerobin hab ich auch runtergeladen.
Flamerobin bringt mir aber einen Fehler wenn ich auf Firebird zugreifen will.
Nö, eigentlich mal eher nicht. Das Tool ist extra für Firebird geschrieben Als erstes den Host (Register server) bekannt machen, dann dort eine Datenbank (Register existing database) anlegen. Jeweils im Kontextmenü zu finden. Korrekte Anmeldedaten und Pfade vorausgesetzt.
Carsten
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz