![]() |
Datenbank: Firebird embedded • Version: 2.0 • Zugriff über: IB_Objects
Firebird embedded Server mit IBObjects und PE 2005
Hallo,
habe die Evaluation-Version der IBObjecrs runtergeladen und in der Personal Edition 2005 installiert. Überraschenderweise hat es dabei keine Probleme gegeben (Core-Komponenten?). Ich schaffe es aber nicht eine Verbindung zu einer Firebird (2.0 embedded) Datenbank aufzubauen. Immer kommt die Fehlermeldung "Firebird/Interbase Client DLL ist nicht installiert." Mit den Zusatzprogrammen kann ich aber eine Verbindung herstellen. Ob gds32.dll oder fbclient.dll macht keinen Unterschied. Alles liegt im Verzeichnis der Anwendung. Databasename und Path habe ich angegeben. Ich habe aber nirgendwo eine verdammte Property gesehen, wo man die Client DLL angeben kann. Die gleiche Meldung kommt, wenn ich deren Example/Tutorial ausführe. Brauch ich dafür die BDE oder Datenbankunterstützung, die in der Personaledition nicht vorhanden ist? Firebird sollte doch eigentlich als embedded-Server bei bloßem Vorhandensein der dll laufen? Wenn jemand Erfahrung zu diesem Thema hat, wäre ich für eine Hilfe sehr dankbar. Kann man überhaupt problemlos in der PE-Edition mit den IBOjects oder anderen Komponenten mit Datenbanken arbeiten? |
Re: Firebird embedded Server mit IBObjects und PE 2005
Zitat:
Wo befindet sich deine Dll? |
Re: Firebird embedded Server mit IBObjects und PE 2005
im Verzeichnis der Anwendung. Ich habe alles in ein Verzeichnis gepackt. Muss ich die ins Windows-Verzeichnis setzen? Das wäre blöd.
|
Re: Firebird embedded Server mit IBObjects und PE 2005
Zitat:
|
Re: Firebird embedded Server mit IBObjects und PE 2005
als überzeugter IBObjects-Nutzer muss ich erst mal protestieren:
@mkienzler: die IBOs haben auch ein eigenes Dataset, es gibt aber ebenso TDataSet-kompatible Komponenten @Hansa: warum sollte sie nicht? Nur weil Jason beim ersten Installer mit der Lokalisierung nicht aufgepasst hat? zur ursprünglichen Frage: gleich mal ne Gegenfrage: Hast Du wirklich die embedded Version heruntergeladen und in das Verzeichnis gepackt? Ich frage deshalb, weil Du was von Zusatzprogrammen schreibst, die alle funktionieren. Diese werden aber nicht mit der Embedded Version distibuiert. Ich habe vor einiger Zeit ein Projekt mit BDS2006, IBO und fbembedded 2.0 gemacht und hatte dabei keinerlei Probleme. Gruß Onlinekater [Edit]Wer hnoch weitere Tippfehler findet, darf sie behalten :wall: [/Edit] |
Re: Firebird embedded Server mit IBObjects und PE 2005
Zitat:
P.S.: BDS 2005 ? Wo ist denn da eine Datasource, ein DBEdit usw. ? |
Re: Firebird embedded Server mit IBObjects und PE 2005
Zitat:
Es gibt zum einen die TIB-Komponenten, die arbeiten mit einee eigenen Dataset-Implementation. Außerdem gibt es noch die TIBO-Komponenten, das sind Komponenten, die mit der DataSet-Implementation der VCL arbeiten. An diese kann man jede beliebige TDataSet-kompatible (Fremd)Komponente hängen. Die ganzen Controls wie Calendar, Editfields, Datepicker usw. beruhen auf Jasons eigener Dataset-Implementation. Die haben viele Vereinfachungen, die mit dem TDataset nicht machbar waren. Die Kompatibilitätskomponenten gibts schon alleine deswegen, weil man ja auch mal an Reporte oder ähnliches ran will. Mann kann prepared sql statements sehr einfach von den TIB-Komponenten in die TIBO-Komponenten übernehmen. Hoffe, ich habe ein wenig Licht ins Dunkel gebracht. Gruß onlinekater |
Re: Firebird embedded Server mit IBObjects und PE 2005
Was ist denn da jetzt so gut dran ? Höre immer nur "Jason". Eventuell sehe ich den in 10/07. Wieso war es notwendig, zumindest in Teilen inkompatibel zu werden ? Wo liegt der Vorteil ?
|
Re: Firebird embedded Server mit IBObjects und PE 2005
Zitat:
|
Re: Firebird embedded Server mit IBObjects und PE 2005
Sollte das mit der PE funktionieren, dann müssen sie ja sogar DBEdit usw. neu erfunden haben oder nicht ? Man spart sich also eine richtige Delphi-Version und zahlt dann für IBObjects ? Was soll das im Endeffekt ?
|
Re: Firebird embedded Server mit IBObjects und PE 2005
Hallo,
um noch mal zur Frage zurückzuukommen, Welche IBObjects-Version ? FB2 wurde erst sehr spät unterstützt (siehe entwickler-forum.de) Heiko |
Re: Firebird embedded Server mit IBObjects und PE 2005
Hallo Programmer Joe,
versuche mal, die Client - Bibliothek direkt anzugeben. geänderter Ausschnitt meiner DPR:
Delphi-Quellcode:
Vielleicht hilft es ja,
uses
Forms, // wegen IB_GetClientLibNameFunc IB_Session, ... function GetFBClientLibName: string; begin // DLL - Dateiname mit kompl. Path Result := 'lw:\path\fbembed.dll'; end; {$R *.res} begin IB_GetClientLibNameFunc := GetFBClientLibName; Application.Initialize; if not LoginDialog then begin // Achtung, sonst Exception, wird nicht ganz fertig Application.ProcessMessages; Exit; end; Application.CreateForm(TFRMMain, FRMMain); Application.Run; Frank |
Re: Firebird embedded Server mit IBObjects und PE 2005
@mkienzler: tschuldigung, hab Deinen Kommentar leider mit zu dem Gestänkere eines anderen Forenusers hinzugezogen
@Hansa: In der Tat hat IBObjects eigene DBEdit, DBLookupCombo etc, eben für das IBObjects eigene Dataset. @Hoika: Den Connect zu einer FB2.0 Datenbank haben auch die älteren IBO-Versionen geschafft, die Probleme kamen dann erst in den entsprechenden Statements auf. @Threadersteller: Welche Zusatzprogramme nutzt Du und wie arbeitest Du mit denen? Gruß onlinekater |
Re: Firebird embedded Server mit IBObjects und PE 2005
Ja, ich habe tatsächlich fb embedded 2.0 und die fbembed.dll in fbclient.dll, so wie es in der readme stand, umbenannt.
Ich habe ![]() Mit Zusatzprogrammen meine ich zum Beispiel IB_SQL. @dataspider: danke für Dein Beispiel, das funktioniert bei mir zur Laufzeit und damit kann ich Daten auslesen. Gibt es eine Möglichkeit, schon zur Designzeit im Objektinspektor eine Verbindung herzustellen? Was meinst Du mit LoginDialog, bzw was muss ich dafür einbinden? LoginPrompt? Warum hast Du dieses if-statement eingebaut? |
Re: Firebird embedded Server mit IBObjects und PE 2005
Zitat:
Der Rest entstammt von Copy and Paste - war nur zu faul, die Zeilen zu löschen. Ich verlasse die Anwendung ohne das MaimForm zu erzeugen, wenn die Anmeldung nicht erfolgreich war. Aber zur Frage Verbindung zur Entwurfszeit: Wenn im Windows Systemverzeichnis eine fbclient.dll liegt, wird diese verwendet, auch wenn im Anwendungsverzeichnis ebenfalls eine fbclient.dll liegt. Die DLL im WinSys hat also Vorrang. Daher solltest du prüfen, welche gds32.dll bzw. fbclient.dll Dateien auf deinem Rechner liegen. Wenn du die fbembed.dll z.B. in fbclient.dll umbenennst und ins Windows Systemverzeichnis kopierst, sollte es auch zur Entwurfszeit funktionieren. Cu, Frank |
Re: Firebird embedded Server mit IBObjects und PE 2005
Zitat:
|
Re: Firebird embedded Server mit IBObjects und PE 2005
Nein, die Dll im Anwenderverzeichnis hat Vorrang.
|
Re: Firebird embedded Server mit IBObjects und PE 2005
Zitat:
Es wird über LoadLibrary versucht, die entsprechende Client-DLL zu laden. Und da hat das Applicationsverzeichnis auf jeden Fall vorang vor dem Windows-Verzeichnis. Eine Besonderheit gibt es allerdings: Es wird erst versucht, die fbclient zu laden, wenn das nicht klappt, wird versucht, die gds32 zu laden (wenn man nicht im Programm die entsprechende dll selbst zuweist). Dadurch ist es natürlich möglich, dass eine im Windows-Verzeichnis liegende fbclient angezogen wird, obwohl im Programmverzeichnis eine gds32 liegt. Gruß onlinekater |
Re: Firebird embedded Server mit IBObjects und PE 2005
@Hansa, mkinzler, onlinekater
Ihr habt natürlich alle recht. Der Satz mit dem Vorrang was Quatsch. Aber es ging um Connection zur Entwurfszeit. Und dabei muss man dennoch darauf achten, das im Windows Systemverzeichnis die richtige dll liegt. Die Frage ist, ob ein Firebird Server auf dem Entwicklungsrechner installiert ist und läuft. In diesem Fall würde ich zur Entwurfszeit klassisch zugreifen. Wenn aber kein Server laufen soll (warum auch immer), su muss ich dafür sorgen, dass alle benötigten Dateien der Delphi IDE zur Verfügung stehen. Das betrifft z.B. auch die fbintl.dll zur Unterstützung der CharSet's. Somit muss z.B. auch das Verzeichnis intl von Firebird z.B. ins Bin-Verzeichis von Delphi kopiert werden. Cu, Frank |
Re: Firebird embedded Server mit IBObjects und PE 2005
Zitat:
|
Re: Firebird embedded Server mit IBObjects und PE 2005
Die Aussage stimmt aber unter der Premisse, daß die Anwendung mit fbembedded ausgeliefert wird.
|
Re: Firebird embedded Server mit IBObjects und PE 2005
@Hansa
ich habe doch nun schon Entwurfszeit fett geschrieben, was soll ich denn noch tun, um zu verklickern, dass es ausschliesslich um die Entwurfszeit geht? Probier es doch einfach mal aus. Setze im OI Connected einer TIB_Connection auf True und vergiss nicht, vorher ein CharSet anzugeben. Dann kommt die fehlermeldung: CHARACTER SET blabla not defined... Bei mir funktioniert es nur, wenn das Verzeichnis intl unter Bin (Delphi) liegt. Frank |
Re: Firebird embedded Server mit IBObjects und PE 2005
Also danke erstmal für die Hilfe.
Damit das zur Entwurfszeit funktioniert, muss ich alle dll's (nicht nur die fbclient.dll) entweder nach system32 oder delphi/bin kopieren. Ich will in meinem Installer das system32 Verzeichnis nicht anfassen. Also kommt wohl nur Laufzeit zum Arbeiten in Frage. Zusätzlich müßte ich auch die conf anpassen und ihr sagen, wo die Datenbank liegt. Das will ich alles nicht und anders gehts wohl nicht, denn mein Anwendungsverzeichnis (eigene Dateien\Borland Projekte\etc...) wird komplett ignoriert. Da ich nur eine Desktopanwendung erstellen will, will ich und brauche ich keine komplette Firebird-Installation. In die wichtigen Teile der Komponenten kann ich wahrscheinlich nicht reingucken, da ich das Evaluation-Package habe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 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 by Thomas Breitkreuz