Entwickler-Ecke

Datenbanken - Welche DB ist für delphi6 sinnvoll?


mccom - Fr 23.02.07 19:35
Titel: Welche DB ist für delphi6 sinnvoll?
Ich habe folgendes problem, ich hab ein Programm entwickelt das seine ganzen Infos in INIs speichert. Warum? Ich wollte für eine "proff-of-concept" unabhängigvon allem sein und ich wusste nicht welche Db-Art mein Job hat für den ich das Prog mache.

So nun läuft das Pogramm langsam und ist auch sinnvoll anzuwenden, nur jetzt ist die Frage, welche Db benutzen? Wie gesagt ich verwend Delphi6 zum programmieren und hab auch leider keinen zugang zu besseren Versionen.

Im Job haben wir schon eine Access-DB, nur von der wollen die chefs weg, weil sie nicht jedes Jahr ein neues Update kaufen wollen (O-Ton) Nun denken sie über kostenlose lösungen nach, MYSQL oder .Net (O-Ton)

Was würdest ihr empfehlen? was kann delphi6 leicht ansprechen, ist am besten kostenlos UND macht keinen dreck? Also vielleicht nicht zu komplex zum ansprechen? Oder würdet ihr die vorhandene Access weiterverwenden?

Schonmal vielen Dank für eure Meinungen


Delete - Fr 23.02.07 20:00

also, .NET ist schon mal keine datenbank, also kannst sie auch nicht zur datenspeicherung verwenden ;-) .

ab D6 gilt die BDE als veraltet. als datensensitive kompos sind dabei ado (ODBC), dbexpress und interbase. mit ado, kannste alles ansprechen wofür es einen ODBC treiber gibt, also paradox, foxpro, dbase, ms access, informix, db2, oracle, mysql...

aber deine chef's werden auch weiterhin reglemässig db updates kaufen dürfen... ;-) . XML ist da eher eine alternative zu deinen ini's, da sie keine datenbanken sind, sondern zum datenaustausch dienen. <HTH>

PS: neuere delphi versionen bieten da auch nicht mehr unterstützung... ausser 'ne bessere einbindung von interbase... aber das war es schon. also mit D6, biste schon state of art


mccom - Sa 24.02.07 03:40

hm eben, dachte ich mir doch das ich .Net als Programmiersprache (oder?) kenne und nicht als DB...

naja, es ist ja so, die Daten sollen auf einem Zentralenrechner(Server) liegen und von allen clients abrufbar sein. dabei sollte es keine probleme wegen lese/schreibzugriff geben. Jetzt ist es so, ich lese die ganze INI in ein array(record) ein und verarbeite sie dann. mit einer DB im rücken könnte man editieren/hinzufügen/löschen und DANN erst auf anfrage die benötigten Daten holen die immer aktuell sind und man kann sich nicht gegenseitig überschreiben.

jetzt ist halt die Frage, WAS für eine DB sollte genommen werden? was nimmt denn der "standart"-delphi mensch? was würde er nehmen wenn er es kostenlos und unabhängig will? Klar muss man noch patchen und updaten aber die anschaffung soll möglichst kostenneutral sein.

Und wie gesagt eine Db soll/muss es sein um von nervigen Dateien wegzukommen und keine großen aber größere Daten/string-Mengen zu speichern.


HelgeLange - Sa 24.02.07 04:35

Die Datenbank ist ja unabhängig von Deinem Delphi, da :

Delphi 6 = Produkt A
Datenbank = Produkt B

zwischen beiden gibt es erstmal keine direkte Verbindung. Dazu brauchst Du Komponenten. Wie mein Vorredner erwähnte, aber dann unter den Tisch fallen liss : Interbase. Die Zugriffskomponenten gibt es zuhauf kostenlos im Netz (und auch professionelle für kleines Geld). Anzumerken wären da zum Bsp. Zeos-Komponenten.
Interbase selbst ist wohl nicht kostenlos, weiss ich aber ned genau, da ich schon seit langem mit Firebird arbeite, was ein OpenSource-Strang von Interbase 7 ist. Firebird kannst Dir kostenlos runterladen und benutzen, Zeos auch unter lesser GPL.. damit hast Du für Delphi 6 ein klasse "state-of-the-art"-Client/ServerDB-System, alles was Deine Chefs wollen, denk ich....


mccom - Sa 24.02.07 14:33

erstmal vielen dank! genau sowas wollte ich hören/hab ich gesucht. einen namen oder eine Empfehlung! Werde die DB-Umgebung mal meinem chef vorstellen, mal schaun was er dazu sagt!

Noch etwas vielleicht etwas dumm gefragt ABER: Um zu einer Db zu connecten braucht man ja einen User account und ein Passwort (also bei PHP->MySQl ist es so denke hier auch?) Schreibe ich das Hardgecoedet in den Script rein (so unveränderbar) oder lager ich es auch in einen INI/XML what-ever so das man es ändern kann? Nur wenn es draußen ist wie schütze ich das PSW dann gegen fremde oder wenn es drinnen im programm ist, wie passe ich das programm an DB-Änderungen an? also wenn PSW geändert wurde?


Nochmal vielen dank für die hilfe bis jetzt, ich liebe dieses Forum!


mccom - Fr 02.03.07 22:58

hm, ok, ich denke ich bin zu doof dafür:
-Firebird 2.0 gesaugt
-ZEOS 6.6.1_beta gesaugt

->Delphi 6 ZEOS daten genommen
- ZeosDbo.bpg geöffnet in Delphi
-wie gefordert zuerst die ZCore60.dpl installiert (versucht)

MELDUNG: "Fatalter Fehler" ZCore.dpk(44) datei nicht gefunden "ZVariant.dcu"

die datei gibt es auch nicht... ähm, bin ich zu doof? die verion buggy oder mein Delphi6 PE nicht fähig?

Würde mich über tipps freuen!
----------------------
EDIT:
OK, soweit jetzt alles behoben. Einziges problem, ich hab keine DBRTL und das meckert er an. Hab mich informiert, Delphi 6 PE hat sowas NICHT. WAS kann ich nun tun, um ZEOS doch noch zum laufen zu bekommen? Alle hilfen sind nur für mysql und delphi 7 PE. KAnn ich die 1:1 auch für firebird und Delphi6 PE übernehmen? wohl kaum oder?
EDIT: so, alle meine probleme in kombination von IBObjects und IBExperts gelöst. trotzdem vielen dank an alle die diesen thread gelesen haben!