Entwickler-Ecke

Datenbanken - Problem Zeos-Lib


Hendrik - So 27.01.08 16:55
Titel: Problem Zeos-Lib
Hey!

Nachdem die BDE bei der Umstellung meines Programms auf die Netzwerkversion offensichtlich geschwindigkeitsmäßig an ihre Grenzen stößt, stehe ich vor der Frage, welche Datenbank ich nun verwenden soll. Ich habe in den letzten Tage zahlreiche Foren und Beiträge durchforstet und bin zu dem Schluss gekommen, dass wohl Firebird mit dem Embedded Server die beste Lösung wäre.

Doch leider bin ich auf diesem Bereich ein Neuling. So habe ich bisher noch nicht einmal eine Möglichkeit gefunden, eine Datenbank in einer Oberfläche wie der Borland Datenbankoberfläche damit zu erstellen... Gibt es diese Möglichkeit überhaupt oder muss es über SQL geschehen?

Hintergrund ist der, dass meine Anwendung mehrere Clients umfasst, die lediglich einen Lesezugriff auf die Datenbank benötigen und ausschließlich das Serverprogramm die Änderungen vornimmt. Dabei sollte von Seiten des Benutzers die Einrichtung des Programmes genauso einfach sein, wie bisher bei der BDE, die mit meinem Setup automatisch installiert wird. So wie ich das den Texten im Internet entnommen habe, wäre hier der o.g. Embedded Server die einfachste Möglichkeit.

Liege ich damit richtig? Ich wäre für ein paar Tipps unendlich dankbar, da ich im Moment der Verzweiflung nahe bin :-/

Einen schönen Sonntag noch!


hansa - So 27.01.08 17:06
Titel: Re: Umstieg BDE auf Firebird
user profile iconHendrik hat folgendes geschrieben:
...Liege ich damit richtig?..


Mit Firebird schon, aber die embedded Version im Netzwerk ? :shock: Das ist genau das, was man nicht machen kann und vor allem nicht erst versuchen sollte. Zum Anlegen der DB nimmt man am besten IBExpert. Auch zum entwickeln eines Programmes ist embedded äußerst schlecht. Normalerweise muss da Delphi Zugriff auf die DB haben, das laufende Programm (F9) und wohl auch noch IBExpert. Das sind dann schon 3 Zugriffe und nur einer geht.


matze - So 27.01.08 17:45

Firebird als Datenbank-Server zu nehmen ist schon mal gut.
Allerdings musst du da den richtigen Firebird Server installieren und nicht die Embedded Variante nehmen.

Beim Delphi-Treff findest du ein Tutorial zum Thema Firebird. Und ich glaube irgendwo gabs auch mal ein Tutorial von Holger Klemt zum Thema Migration von BDE auf Firebird.


Hendrik - Mo 28.01.08 23:08

Hey!

Wenn ich es richtig sehe, müsste ich doch die Daten auch wie früher in der BDE ändern können? Gemäß:

Delphi-Quelltext
1:
2:
3:
query.edit;
query.fieldbyname('aada').asstring:='aa';
query.post;


Allerdings kommt sobald ich in den Edit-Modus wechsel folgende Meldung:

Zitat:
Connection is not defined
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 8
"Tabllenname"
Invalid Token'.


Ich benutze Zeos 5.5 weil ich leider nur Delphi 3 habe und die 6-er Version ja dafür keine Kompos mehr anbietet... Hat jemand eine Idee, was ich falsch gemacht habe bzw. woran es liegen kann?

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt


Hendrik - Di 29.01.08 19:15

Edit: Titel angepasst


hansa - Di 29.01.08 22:34

Welcher FB-Server ist denn jetzt vorhanden ? Ist gewährleistet, dass das Programm die richtige GDS32.DLL findet, Suchpfad usw. ? Wie siehts in DB-Admin-Tool denn aus ? Gehts damit ? All das muss geklärt sein !


matze - Di 29.01.08 23:04

Du versuchst da etwas in einem Query zu verändern. Wie sieht denn sein SQL-Query aus?


Hendrik - Di 29.01.08 23:56

Hey!

Es läuft der Firebird Server 2.0, das Bearbeiten der Daten funktioniert mit IBExpert ohne Probleme. Wie kann ich denn den Pfad zur dll setzen? Ich finde bei den Kompos keine entsprechende Eigenschaft.

SQL der Query ist nur

SELECT * FROM tabellenname


matze - Mi 30.01.08 11:55

ja kann es sein, dass es die Tabelle mit dem Namen "tabellenname" in deiner Datenbank gar nicht gibt?


Hendrik - Mi 30.01.08 12:01

Ich habe es ja über eine Datasource mit einem DBGrid verknüpft und dort wird auch alles vernünftig angezeigt. Nur funktioniert wie gesagt das Bearbeiten in keinster Weise. Weder über das DBGrid noch manuell über den Programmcode... Es kommt immer die o.g. Meldung.


Hendrik - Mi 30.01.08 13:55

Ich habe in der Database einfach mal den SQL Dialect von 1 auf 3 umgestellt... Jetzt gehts... Trotzdem danke für die Hilfe!