AGB  ·  Datenschutz  ·  Impressum  







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

Interbase/Firebird

Ein Thema von Hansa · begonnen am 14. Aug 2002 · letzter Beitrag vom 5. Dez 2002
Antwort Antwort
Seite 1 von 3  1 23      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Interbase/Firebird

  Alt 14. Aug 2002, 17:24
Hallo,

da Borland das Interbase Opensource Projekt nicht mehr fortführt und sich mit Interbase / Firebird die Geister scheiden, blicke ich jetzt nicht mehr ganz durch, was ich verwenden soll. Habe hier ein Sammelsurium verschiedener IBconsolen, Interbaseserver aller möglichen Versionen usw. Einmal heißt es die alte Version von irgendwas sei besser als die neue, irgendeine andere ist dafür angeblich zu lahm,
eine andere stürzt ab usw. Bei den Delphi-Komponenten sieht es ähnlich aus.

Hat irgendjemand in der Praxis ein lauffähiges nicht zu kleines Programm, der vielleicht einmal sagt, welche konstellation seiner Ansicht nach am besten ist ? Die Leistungsmerkmale werde ich wahrscheinlich fast alle einsetzen müssen. Es geht hier nicht um eine Adressverwaltung und nicht nur um Einzelplatz.

Gruß
hansa
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#2
  Alt 15. Aug 2002, 08:30
Hi,

es gibt zur Zeit 3 mir bekannte Zweige von Interbase:

1. die kommerzielle: Die steht zur Zeit auf der Version 6.5, die 7er ist angekündigt. Die kostet Geld, dafür gibts ne stabile Version, die auch mit einigen Neuerungen daherkommt.

2. die OpenSource: Die aktuelle Version ist 6.0.2, allerdings sei die 6.1.6 stabiler (kann ich nicht nachvollziehen). Diese Version wird nicht mehr weiterentwickelt.

3. Firebird: Die steht auf der Version 1.0 (Vergleichbar mit Interbase 6.0x), bietet allerdings ein paar neue Funktionen, SQL-Konstrukte und ist anscheinend stabiler und schneller als die 6er IB. Zur Zeit ist die 1.5 in Bearbeitung, in der irgendwasauchimmer gemacht werden soll, die 2er Version soll komplett in C++ erstellt werden (ist auch schon in Arbeit).

Eigentlich ganz einfach, oder?? Der Hammer kommt erst jetzt: Der Zugriff. Leider werden die IBX (werden von einem Borlandmitarbeiter gemacht) nicht auf Firebird angepasst. Zur Zeit funktionieren die noch, aber spätestens wenn die IB 7 und FB 2 da sind, werde die ersten Probleme auftauchen. Leider gibt es außer den IBX keine wirklich kostenlosen Komponenten für Firebird. Mit IBObjects darf man zwar Freeware produzieren, es kommt aber immer ein Hinweis, bei den FIBPlus, die ziemlich schnell sind, ist es ähnlich.

Für die Administration dürfte es keine so großen Probleme geben. Da die IBConsole auch auf den IBX aufbaut hat deren Stündlein sozusagen schon geschlagen. Aber seit ein paar Monaten gibt es den IBExpert Personal kostenlos zum runterziehen. Der bietet auch mehr Möglichkeiten als die IBConsole, versteckt aber mehr von der Datenbank vor dem Benutzer als die IBConsole und wird lt. Hersteller auch Firebird weiterhin unterstützen.

Grüße
Lemmy

Links:
IBObjects: http://www.ibobjects.com
FIBPlus: http://www.fibplus.net/
Firebird: http://firebird.sourceforge.net/
IBExpert: http://www.ibexpert.com
Kostenlose Version: http://www.hksoftware.net/download/ibep_2.2.0.4_exe.zip
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3
  Alt 15. Aug 2002, 12:07
Hallo Lemmy,

Deine Antwort bestätigt eigentlich meine Ahnungen. Grundsätzlich gibt es ja zwei Möglichkeiten : man fährt auf der kostenlosen Schiene oder zahlt eben. Leider ist es aber zumindest bei Borland so eine Sache. Alles was sich nicht um reine Programmiersprachen handelt, wurde von denen irgendwann fallengelassen oder es war einfach Sch.... Ich erinnere mich noch dunkel an TurboVision und auch das, was sie mit Interbase jetzt machen ist nicht gerade dazu geeignet überhaupt damit anzufangen.

Eigentlich müßten ja zuerst die kostenlosen Sachen verschwinden und nicht die, mit denen Geld verdient wird. Seltsamerweise scheint es aber umgekehrt zu sein. Die wollen offenbar auf einen Schlag soviel verdienen, daß es letzten Endes zu teuer wird. Dadurch verkaufen sie nichts und stellen das Projekt irgendwann ein. Bei denen, die von vorneherein wissen, daß es nicht viel gibt kann das logischerweise nicht passieren, hier besteht aber die Gefahr, daß sie irgendwann einfach keine Lust mehr haben, da die Motivation zu gering wird.

Da auch ich noch gar nicht weiß, ob sich mein Projekt letztenendes auszahlt, will ich nicht unnötigerweise Geld rausschmeißen. Warum gibt es denn überhaupt Delphi? Weil irgendwann ein junger Finne Turbopascal geschrieben hat und es von einer amerikanischen Firma sogar in Deutschland für nur 198 DM verkauft wurde. Ich kenne niemanden, der damals ernsthaft mit einer Raubkopie gearbeitet hat.

Aber egal, werde jetzt mal meine Komponentenleiste um einiges erleichtern, dann Firebird und den IBexpert runterladen (DSL sei dank) und neu installieren. Dann werde ich "Lemmy's Interbase Tutorium" noch einmal von vorne bis hinten durcharbeiten.

@Lemmy : 1. geht das mit der Konstellation Firebird / IBexpert ?
oder gibt es größere Probleme (habe mir Firebird
noch nicht groß angeschaut)?
2. Bleibt aber noch die Frage, was mit IB Opensource ist ?

Gruß
Hansa

P.S.: An alle, die wegen ähnlicher Problemchen auf eine andere
Datenbank ausweichen wollen : Trotz oben gesagtem ist Vorsicht
geboten bei kostenlosen Programmen! Habe mir mal den Advantage
Server angeschaut. Die haben mich schon am nächsten Tag angerufen
und gefragt, ob ich zurecht käme. Echt super. ABER : der
angeblich bis 5 User kostenlose Server ist doch stark
eingeschränkt. Bei ihm fehlen die Transactions !!
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#4
  Alt 15. Aug 2002, 19:52
Hi Hansa,
Zitat von Hansa:
Grundsätzlich gibt es ja zwei Möglichkeiten : man fährt auf der kostenlosen Schiene oder zahlt eben. Leider ist es aber zumindest bei
Im Prinzip sogar noch ne dritte: selber hinsitzen und aus den IBX die FBX machen....

Zitat von Hansa:
Da auch ich noch gar nicht weiß, ob sich mein Projekt letztenendes auszahlt, will ich nicht unnötigerweise Geld rausschmeißen. Warum gibt
Das ist ne schwierige Entscheidung... Die FIBPlus kosten z.Zt. 221 €. Ne Menge Holz, aber wenn auch nur die kleinste Chance besteht, dass Du wenigstens die 221€ reinbekommst, dann mache es, denn die Zeit, die Du nachher zur Umstellung benötigst ist unglaublich hoch...

Zitat von Hansa:
@Lemmy : 1. geht das mit der Konstellation Firebird / IBexpert ?
oder gibt es größere Probleme (habe mir Firebird
noch nicht groß angeschaut)?
2. Bleibt aber noch die Frage, was mit IB Opensource ist ?
1. Wie schon gesagt: IBExpert wird weiterhin FB und IB unterstützen (lt. Hersteller), getestet habe ich das aber noch nicht (ein paar kleine Gehversuche). Zur Zeit dürften da aber auch noch keine Probleme auftauchen...

2. Dasselbe wie mit den IBX. Wenn auch nur die Chance besteht, dass Du Geld einnimmst, dann die FB/FIBPlus Variante nehmen.

Zitat von Hansa:
angeblich bis 5 User kostenlose Server ist doch stark
eingeschränkt. Bei ihm fehlen die Transactions !!
Kommt immer darauf an, was man machen will. Aber in einer Mehrbenutzerumgebung ohne Transaktionen....

Grüße
Lemmy
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5
  Alt 15. Aug 2002, 22:07
Hallo Lemmy,

das war einmal eine glasklare Antwort und nicht nur unnötige Gegenfragen von Wichtigtuern. So habe ich das ganze im Prinzip auch eingeschätzt. Aber wer nicht fragt kriegt keine Antwort.


Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6
  Alt 21. Aug 2002, 10:46
Habe mir jetzt folgendes besorgt (Lemmy sei dank):

Firebird, IBexpert und FIBplus (jeweils neueste Version)

Das sieht in dieser Konstellation recht gut aus.

1. Bei IBexpert fängt es an. Und zwar wollte ich die Datenbank mit bestehenden Daten füllen. Es gibt da die Funktion "Export data into Script". Um zu sehen wie das geht, habe ich von Hand 2 Datensätze editiert, dann die table gedropt. erzeugtes Script:

create table "art" /* kleingeschriebene Schlüsselwörter sind von mir */
/* wie hier hinzugefügt */
INSERT INTO "art" ("bez","nr") VALUES ('test',100);
INSERT INTO "art" ("bez","nr") VALUES ('test2',101);

COMMIT WORK;

Mit folgender Fehlermeldung kann ich nichts anfangen, sie kam auch in anderem Zusammenhang, immer hat er sich aber über SQL-Schlüsselwörter beschwert:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 3, char 1.
INSERT.

2. Kennt jemand FIBplus ?

Die Demo läuft zwar einwandfrei, er compiliert auch ohne Fehler, leider habe ich aber nichts schriftliches und keine Online-Help. Zumindest habe ich nichts gefunden.

Sehe die schöne bunte Komponentenleiste, aber entweder habe ich eine Komponente vergessen, oder eine Einstellung im OI übersehen. Also: welche Komponenten muß ich auf der Form platzieren und anpassen, damit ich über Delphi an die Daten rankomme? Die Connection zur Datenbank funktioniert, aber an die Felder komme ich irgendwie nicht dran.

Es ist halt frustrierend, selbst wenn ich das 1. Problem gelöst und so die Datenbank "bestückt" hätte, würde ich es unter Delphi nicht einmal merken wegen des 2. Problems.

Gruß
Hansa
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#7
  Alt 21. Aug 2002, 13:26
Hi Hansa,

Zitat:
create table "art" /* kleingeschriebene Schlüsselwörter sind von mir */
Wo sind die Felder die Du erzeugen willst? Weggelassen?? Dann kontrolliere bitte auch, dass Du an Ende ein ; dranhast.

Zudem würde ich nicht das Skript komplett ablaufen lassen, sondern in 2 Stufen: erst die Tabelle erzeugen, im 2. Schritt dann mit Daten füllen...

Zitat:
2. Kennt jemand FIBplus ?
Ich habe mir die Komponenten mal angeschaut. Die sind mit den IBX ziemlich gut vergleichbar, also erst eine DataBase (weiß den genauen Komponentennamen nicht auswendig), dann die Transaction und schließlich die DataSet Komponente. Die miteinander verbinden und im DataSet in Querys oder so deine Select-SQL eingeben, das Fenster wieder schließen und neu öffnen, dann kannst Du die restlichen SQL's erstellen lassen.

Grüße
Lemmy
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8
  Alt 25. Aug 2002, 18:48
Hallo Leute,

mit FIBplus komme ich jetzt an die Felder, aber einige Sachen finde ich nicht andere sind mir nicht ganz klar. Anscheinend muß man select * from 'table' von Hand eingeben, damit er die Felder findet.Stimmt das?

1. @Lemmy: (Generatoren) In Deinem Interbase Tutorial schreibst Du, man könne sie in dem DataSet bei Eigenschaft GeneratorField eintragen, die fehlt aber bei mir ! Auch die SQL's mußten von Hand ergänzt werden (hinter WHERE kam nichts mehr) Ist das normal?

2. Wo und wie ändert man die Reihenfolge der Felder? Habe ein Grid, da stehen die Felder genau verkehrt rum drin.

3. Wo kommt eigentlich die OLD_nr in den SQL-Statements her und wozu ist die überhaupt gut?

4. 'UPDATE "art" SET '
' "preis" = ?"preis",'
' "bez" = ?"bez",'
' "nr" = ?"nr"'
' WHERE '
' "nr" = ?"OLD_nr"'
' ')
Das Mini-Programm läuft, aber mich stören obige "?". Sie scheinen keine Auswirkungen zu haben

Das reicht jetzt vorerst, aber ahne was noch auftaucht. Mühsam ernährt sich das Eichhörnchen!

Gruß
Hansa
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#9
  Alt 25. Aug 2002, 22:45
Hi Hansa,

Zitat von Hansa:
Anscheinend muß man select * from 'table' von Hand eingeben, damit er die Felder findet.Stimmt das?
Ja, aber das muss man bei IBX ja auch, nur da macht man es direkt im SelectSQL, hier wird das Fenster aufgerufen, in dem auch die anderen SQL's festgelegt werden.

Zitat von Hansa:
1. @Lemmy: (Generatoren) In Deinem Interbase Tutorial schreibst Du, man könne sie in dem DataSet bei Eigenschaft GeneratorField eintragen, die fehlt aber bei mir ! Auch die SQL's mußten von Hand ergänzt werden (hinter WHERE kam nichts mehr) Ist das normal?
Sprechen wir jetzt von IBX oder FIBPlus?? Bei IBX muss die Einstellung inder Eigenschaft "GeneratorField" vorgenommen werden, bei FIBPlus lautet die Eigenschaft "AutoUpdateOptions". Dort kannst Du alles einstellen....

Die Erzeugung der SQL's funktionierte bei mir immer einwandfrei. Hast Du ein Feld für den Primärindex ausgewählt??


Zitat von Hansa:
2. Wo und wie ändert man die Reihenfolge der Felder? Habe ein Grid, da stehen die Felder genau verkehrt rum drin.
Erst mal im SelectSQL. Wenn Du Reihenfolge festlegen willst, dann führe alle Spalten einzeln auf (in der entsprechenden Reihenfolge). Wenn Du "Select * from" machst, dann gilt die Reihenfolge der Datenbank.

Zitat von Hansa:
3. Wo kommt eigentlich die OLD_nr in den SQL-Statements her und wozu ist die überhaupt gut?
Dazu muss ich weiter ausholen. In Interbase (und damit auch Firebird) kann man mit Triggern verschiedene Funktionen direkt auf dem Server ausführen. Trigger sind vergleichbar mit Events, also Ereignisse in Delphi. Da gibt es z.B. das Event OnUpdate. Dieser Trigger wird (wenn er definiert ist) immer ausgeführt. Um die Werte alt und neu zu unterscheiden, gibt es eben OLD und NEW Werte. Diese "Regel" haben die Komponentenbauer eben übernommen. Bei einem Update ist es, zumindest theoretisch, möglich den Primärindex zu ändern. Um das Statement aber korrekt auszuführen muss der Datensatz gefunden werden, der mit dem ALTEN Wert übereinstimmt, deshalb das OLD_, das ist auch bei den IBX so.

Zitat von Hansa:
4. 'UPDATE "art" SET '
' "preis" = ?"preis",'
' "bez" = ?"bez",'
' "nr" = ?"nr"'
' WHERE '
' "nr" = ?"OLD_nr"'
' ')
Das Mini-Programm läuft, aber mich stören obige "?". Sie scheinen keine Auswirkungen zu haben
Hast Du dir schon mal eine Update-Clasue der TIBDataSet angeschaut?? Da stehen anstelle der ? einfach ein :! Das kannst Du aber auch einfach in der TFIBDataSet einstellen. Das ?, bzw. :, bedeutet, dass ein Parameter kommt, also eine Variable, die irgendwoher ihren WErt erhält.

Grüße
Lemmy

P.S.: Ich bin ab morgen für vermutlich 3 Wochen weg...
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10
  Alt 26. Aug 2002, 20:45
Hallo Leute,

der gute Lemmy ist für 3 Wochen weg ! Sei ihm gegönnt ! Vielleicht weiß ja noch jemand etwas. Das meiste geht jetzt. Habe jetzt von Delphi aus Zugriff auf meine Daten, sie stehen auch im Grid oder den DBedit Feldern.

War klar, daß es jetzt mit Generatoren und Triggern zur Sache geht. Habe deshalb einen Generator erzeugt:

CREATE GENERATOR "GEN_art_ID";

Dann noch einen Tigger, der die ID für einen neuen Satz hochzählt:

CREATE TRIGGER T_GENERATEID FOR "art"
ACTIVE BEFORE INSERT POSITION 0
AS
begin
NEW.ID = GEN_ID ("GEN_art_ID",1);
end

So weit so gut, aber wie kriege ich die Sortierung nach der Art.Nr. oder alphabetisch jetzt noch hin ?? Ich meine jetzt in Delphi. Soll ich eine SQL-Anweisung irgendwo als string ausführen lassen? Wo ist aber dann das Ergebnis, bzw. wie komme ich dran?

Was ich noch nicht verstehe: wieso muß ich in SQL manchmal "BEZEICHNER" benutzen und manchmal nicht?

Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 17:44 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