kein Zugriff auf einen embedded Firebirdserver
-
- Beiträge: 101
- Registriert: Do 22. Nov 2007, 20:06
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: München
kein Zugriff auf einen embedded Firebirdserver
Das Verzeichnis meines embedded Firebirdservers sieht wie folgt aus:
d:\lazarus\firebird7\firebird7_unit1.pas
d:\lazarus\firebird7\firebird7_unit1.ppu
d:\lazarus\firebird7\gds32.dll
d:\lazarus\firebird7\ib_util.dll
d:\lazarus\firebird7\icudt30.dll
d:\lazarus\firebird7\icuuc30.dll
d:\lazarus\firebird7\firebird.conf
d:\lazarus\firebird7\firebird.msg
d:\lazarus\firebird7\firebirdtestdb.fb
d:\lazarus\firebird7\pfirebird7.lpi
d:\lazarus\firebird7\pfirebird7.lpr
d:\lazarus\firebird7\int\fbintl.dll
d:\lazarus\firebird7\int\fbintl.conf
d:\lazarus\firebird7\udf\fbudf.dll
Die firebird.conf enthält folgenden Eintrag:
RootDirectory = d:\lazarus\firebird7
IBConnection1 enthält folgende Einträge:
Database: d:\lazarus\firebird7\firebirdtestdb.fb
Hostname: keine Eintrag
Passwort: mypw
user: sysdba
Fehlermeldung: IBConnection1:DoInternalConnect: -unavailable database
Der locale Server ist nicht gestartet.
Lazarus 0.9.25 und FPC 2.2.0
Gruß
Alfred
d:\lazarus\firebird7\firebird7_unit1.pas
d:\lazarus\firebird7\firebird7_unit1.ppu
d:\lazarus\firebird7\gds32.dll
d:\lazarus\firebird7\ib_util.dll
d:\lazarus\firebird7\icudt30.dll
d:\lazarus\firebird7\icuuc30.dll
d:\lazarus\firebird7\firebird.conf
d:\lazarus\firebird7\firebird.msg
d:\lazarus\firebird7\firebirdtestdb.fb
d:\lazarus\firebird7\pfirebird7.lpi
d:\lazarus\firebird7\pfirebird7.lpr
d:\lazarus\firebird7\int\fbintl.dll
d:\lazarus\firebird7\int\fbintl.conf
d:\lazarus\firebird7\udf\fbudf.dll
Die firebird.conf enthält folgenden Eintrag:
RootDirectory = d:\lazarus\firebird7
IBConnection1 enthält folgende Einträge:
Database: d:\lazarus\firebird7\firebirdtestdb.fb
Hostname: keine Eintrag
Passwort: mypw
user: sysdba
Fehlermeldung: IBConnection1:DoInternalConnect: -unavailable database
Der locale Server ist nicht gestartet.
Lazarus 0.9.25 und FPC 2.2.0
Gruß
Alfred
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Embeded 2.x schätze ich mal.
Dann geht mir die fbembed.dll ab. Zusätzlich noch UseEmbedded := true setzen, dann sollte der FPC auch die DLL nehmen (und die entsprechende unit einbinden).
Es sieht aus, als würde er nur nach einen Server suchen, nicht nach den Embeded Version.
Dann geht mir die fbembed.dll ab. Zusätzlich noch UseEmbedded := true setzen, dann sollte der FPC auch die DLL nehmen (und die entsprechende unit einbinden).
Es sieht aus, als würde er nur nach einen Server suchen, nicht nach den Embeded Version.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Folgendes geht bei mir zur Laufzeit (und speichert auch die Ergebnisse in der DB.
Stammt aus einer kleinen Denksportaufgabe 
Code: Alles auswählen
implementation
uses ibase60dyn;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
SQLQUERY1.UpdateMode := upWhereChanged;
SQLQUERY1.ApplyUpdates;
SQLQUERY1.Active:=false;
IBConnection1.Connected:= false;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
UseEmbeddedFirebird := True;
IBConnection1.Connected:= True;
SQLQuery1.Active:=true;
CheckBox1.Checked:=SQLQuery1.Active;
end;

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 101
- Registriert: Do 22. Nov 2007, 20:06
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: München
Hallo af01815;
Bei mir mußte ich noch IBConnection1.Connected := false;
durch SQLTransaction1.commit ersetzen.
Die fbembed.dll darf man nicht umbenennen.
Folgendes würde mich noch interessieren:
1) Wie kommt man denn auf uses ibase60dyn?
2) Mit ibexpert oder flamerobin kann ich die *.fdb nur administrieren, wenn ein localer
Server läuft.
Gruß
Alfred

Bei mir mußte ich noch IBConnection1.Connected := false;
durch SQLTransaction1.commit ersetzen.
Die fbembed.dll darf man nicht umbenennen.
Folgendes würde mich noch interessieren:
1) Wie kommt man denn auf uses ibase60dyn?
2) Mit ibexpert oder flamerobin kann ich die *.fdb nur administrieren, wenn ein localer
Server läuft.
Gruß
Alfred
-
- Beiträge: 101
- Registriert: Do 22. Nov 2007, 20:06
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: München
Hallo Monta,
es funktioniert, wenn man das Verzeichnis \intl in das IBExpert-Verzeichnis kopiert
.
Wenn man fbembed.dll, icudt30.dll, icuin30.dll, icuuc30.dll und ib_util.dll
in das Verzeichnis windows\system32 kopiert, vermeidet man beim 2. Aufruf die Fehlermeldung "icuuc30.dll nicht gefunden".
Gruß
Alfred
es funktioniert, wenn man das Verzeichnis \intl in das IBExpert-Verzeichnis kopiert

Wenn man fbembed.dll, icudt30.dll, icuin30.dll, icuuc30.dll und ib_util.dll
in das Verzeichnis windows\system32 kopiert, vermeidet man beim 2. Aufruf die Fehlermeldung "icuuc30.dll nicht gefunden".
Gruß
Alfred
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Source & Forum lesen ist ein Weg.Alfred hat geschrieben:Hallo af01815;
![]()
Folgendes würde mich noch interessieren:
1) Wie kommt man denn auf uses ibase60dyn?
Was oft auch hilft: Rechte Maustaste + "Suche Deklaration", und zu probieren den Code zu verstehen. In diesem Fall habe ich ganz einfach gesucht, wo die dlls geladen werden.
Weiter hat auch schon Christian dazu was geschrieben.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).