![]() |
Datenbank: SQL • Version: egal • Zugriff über: Netzwerk VPN
Welches DBMS sollte ich nehmen?
Hallo zusammen,
Ich habe ein Programm, bei dem ich, bis jetzt, meine Dateizugriffe, über typisierte Dateien (file of record) gelöst habe, sogar so, dass es Netzwerkfähig ist. Aber nun stößt das Ganze an seine 'Grenzen, nicht zuletzt dadurch, dass es ziemlich mühsam ist, bei einer Änderung der Daten die Datei dauernd konvertieren zu müssen. Ich habe hier zwar noch Delphi 5, ja sowas läuft immernoch ;-), aber wenigstens Enterprise, also mit allem Datenbank-Zugriffs-Kram. Ich suche ein DBMS, - das keinen Linux- oder Windows-Server braucht. Mir träumt ein ganz normaler PC im Netz mit W10 Pro, der dann als Datenbank-Server funktioniert, - bei dem es möglich ist, mit meinem Uralt-Delphi noch darauf zuzugreifen und - für das man nicht erst ein ganzes Studium abgelegt haben muss, wenn man es nur Installieren will. Die Grundlegenden DB-Kenntnisse habe ich, aber das Ganze soll, irgendwann mal, Teil der Installations-Routine meines Programms werden. Hat jemand einen Vorschlag, was für mich hier in Frage kommt? Es muss zwar Multi-User-fähig sein, aber wenn mein Programm mal 10 Leute gleichzeitig nutzen, dürfte das schon viel sein. Auf Antworten freut sich Marco (wandogau) |
AW: Welches DBMS sollte ich nehmen?
...bekennender Firebird Fan. :thumb: Alles in einer Datei, kopierbar (ohne Zugriff), mulituser, embedded, DB Größe auch in mehreren GB...
![]() ...bei 14MB Setup (ZIP) wird MSSQL blaß! :thumb: Aktueller Thread: ![]() Vor allem würde ich abraten von MSSQL, ORACLE, MySQL...zu groß zu umständlich. :stupid: Zitat:
PS: Darüber gibt es so viele Meinungen, daß du am Ende genauso nicht weißt, was du nehmen sollst. Mach dir ein Testsystem. Beurteile den Installationsaufwand, die Zugriffskomponenten (Preis), Backupmechanismen der Datenbank, Datenbank Umzug auf einen anderen Rechner, Datenbank Editor für Erstellen Tabellen/Felder... womit du am Besten zurechtkommst, das nimmst du. :thumb: |
AW: Welches DBMS sollte ich nehmen?
Mein Favorit: MS SQL Server Express
Ist ein echter SQL Server, beliebig skalierbar. Kann alles, was man braucht. Gibt viele, die sich auskennen damit + viele Code Samples. Läuft auf so gut wie jedem Rechner. Alternativ: Nexus DB Absolute Database |
AW: Welches DBMS sollte ich nehmen?
Alternative:
Du hast deine Oberfläche aktuell nicht mit DB-Sensitiven KOmponenten verseucht. Anstelle deine Oberfläche umzustellen: extrahier dein File-Of-Persistenzzeugs und bau eine REST-API drum herum und passe deine Clientanwendung an. In einem zweiten Schritt tauscht Du dein File-Of Zeugs am Server mit einer Datenbank deiner Wahl aus. |
AW: Welches DBMS sollte ich nehmen?
Allerdings könnte es unter Delphi 5 trotzdem schwer werden ...
|
AW: Welches DBMS sollte ich nehmen?
Hallo Marco,
schau mal hier rein: Absolute Database ![]() Gruß, Andreas |
AW: Welches DBMS sollte ich nehmen?
Ist dein Programm nur einmal im Einsatz oder mehrfach?
Ist es im Privaten Umfeld oder bei Firmen im Kommerziellen Umfeld im Einsatz? Verdienst du Geld damit oder ist das ein Hobby/OpenSourc-Programm Persönlich halte ich MySQL und MS SQL für viele Anwendungsfälle sehr gut geeignet. Mein Favorit ist MS SQL Server. Leicht zu installieren. Leicht zu nutzen Wenn du Kommerziell bei Firmen unterwegs bist, ist ein MS SQL Server fast immer eh schon vorhanden. |
AW: Welches DBMS sollte ich nehmen?
pro Firebird in Bezug auf dein Anforderungsprofil weil
-Installation von firebird server wenn man die zip runterlädt und in sein eigenes setup einbindet Aufruf install_service.bat als admin (dabei keine weiteren Fragen zu beantworten wenn bei fb3 eine security3.fdb mit SYSDBA user ausgeliefert wird, keine aktivierungszwang oder sonstwas) -Anpassungen gleich mit ausliefern über vorgefertige Security oder firebird.conf ohne tricksereien (anderer tcp port zB) -Betrieb als embedded braucht gar nichts außer dll mit ausliefern, trotzdem voller funktionsumfang ohne Größenbegrenzung der db (afaik 10GB bei mssql express muss kein Problem sein, geht aber schneller als man denkt ...) -Mischbetrieb auf jedem Kundenrechner (bei bedarf muss ein anderer schon installierter fb server neueren oder älteren datums überhaupt nicht berücksichtigt werden, und schon gar nicht überschrieben werden -Weder Server noch embedded brauchen irgendeine bestimmte Serverversion beim Betriebssystem, einen FB30 kannst du immer noch auf Window 7 problemlos zum laufen bringen, ohne das microsoft dir da ungefragte endlos updates vorschreibt. -beide version auch problemlos als 32 oder 64 bit version installierbar, also auch auf alten gurken lauffähig (linux und windows ist eh klar) -abgespeckt auf das was du wirklich brauchst sogar noch weniger als 14MB -Zugriff mit delphi5 mach ich jeden Tag auf alle firebird versionen die es gibt |
AW: Welches DBMS sollte ich nehmen?
Advantage Database Server.
Früher Extended Systems, mittlerweile auf Umwegen bei SAP gelandet. Direkter / lokaler Zugriff ohne Lizenzkosten. Installation = handvoll DLLs kopieren. 1 Tabelle = 1 Datei; mal eben Daten austauschen / kopieren supereinfach. |
AW: Welches DBMS sollte ich nehmen?
Zitat:
|
AW: Welches DBMS sollte ich nehmen?
ElevateDB ist mein Tipp, da das genau das macht was du willst ohne zusätzliche Installation einer 3rd Party Software(Firebird, MS SQL, etc.). Ich arbeite seit Jahren damit und bin super zufrieden damit. Es ist super einfach zu konfigurieren und ist erst noch zu 100% in Delphi programmiert. Die ganze DB Engine wird in dein Programm gelinkt und braucht daher keine zusätzlichen DLL's etc. Es geht sowohll mit Filesharingmode als auch mittels einem EDBServer über TCP. Ein stinknormaler PC reicht für den DBServer aus. D5 wird da auch noch unterstützt.
![]() |
AW: Welches DBMS sollte ich nehmen?
Hallo zusammen,
und, erst einmal, ganz herzlichen Dank für die vielen Antworten. Na ja, die Nacht ist noch lang. ;-) Zwei Fragen zu FB: Wo, um gotteswillen, ist der Unterschied zwischen Embedded und Server? Ich muß doch bestimmt, auf dem Rechner, der die Daten halten soll, einen FB-Server installieren, und auf den Rechnern, wo auch mein Programm läuft, die embedded-Sachen, oder? Hat jemand einen Link für Anfänger Parat? Sprich: wie kriege ich mit Delphi eine Verbindung hin, kann SQL-Queries absetzen, usw. Ganz herzlichen Dank und viele Grüße Marco |
AW: Welches DBMS sollte ich nehmen?
embedded= datenbankfunktion ist teil deiner lokalen Anwendung in form einer dll, typischer firebird connection string dann "C:\pfad\datenbank.fdb"
server= irgedwo auf deiner lokalen maschine oder irgeneiner im Netzist ein firebird prozess gestartet, typischer firebird connection string dann "192.168.0.1/3050:C:\pfad\datenbank.fdb" eine dll brauchst du in beiden fällen, ist bei FB30 mittlerweile sogar die gleiche (die kann sowohl remote als auch embedded, je nach connectionstring) wenn du lust und zeit hast schau dir meine videos an auf youtube ![]() wird gerade bzgl installation einiges erklärt |
AW: Welches DBMS sollte ich nehmen?
Zitat:
|
AW: Welches DBMS sollte ich nehmen?
Zitat:
|
AW: Welches DBMS sollte ich nehmen?
steht in den WIndows Desktop (7/8/10) EULA Lizenzbedingungen sehr verschwurbelt
noch sinngemäß so drin, zumindest als ich mir den kram das letzte mal daraufhin durchgelesen habe. Ist aber laut der Anfangbeschrei vom Threadautor ausreichend: "Es muss zwar Multi-User-fähig sein, aber wenn mein Programm mal 10 Leute gleichzeitig nutzen, dürfte das schon viel sein" |
AW: Welches DBMS sollte ich nehmen?
Hallo Holger,
Joa, 10 User reichen völlig aus. Aaaaber: wie greifst du mit D5 auf den FB zu? ZEOS, oder etwas anderes. Wenn ZEOS, welche Version nutzt du, die aktuelle 7.2.10 hat, wer hätte es gedacht, keinen D5-Support mehr... Da ich, denke ich ;-), nur etwas brauche um SQL-Befehle abzusetzen und die Results zurückzukriegen, reicht auch ein übersetztes C-File zum Zugriff auf die DLL? Deine Videos hab ich mir angeschaut. Absolut prima, die kann man sich auch als Blinder ansehen, weil nicht nur alles gezeigt, sondern eben auch gesprochen wird. prima! Vielen Dank schonmal für deine Antwort und herzliche Grüße Marco |
AW: Welches DBMS sollte ich nehmen?
wir benutzen in ibexpert eine uralte version der fibplus komponenten, die mittlerweile endlos
angepasst und erwietert wurden, ist aber nicht in dem Stand public verfügbar. In neueren Delphi Projekten haben wir immer noch ![]() und wenn du da zahlender Kunde bist, hast du auch zugriff auf alle älteren Versionen, das ist auch noch als Version für delphi5 problemlos einsetzbar (die in meinem Download neueste Version, die auch d5 unterstützt, wurde von denen 2015 veröffentlicht, danach nur noch delphi >=6) . Zeos hab ich nie benutzt, nachdem meine ersten Versuche damit mal dauernd abgestürzt waren, ich kann dazu zu m aktuellen Stand aber nix sagen. Neue Projekte machen wir eh schon länger nur noch mit Lazarus und da sind die SQL DB Komponenten für Firebird sowieso schon drin. ibdac kostet zwar geld, ist es aber wert und sehr langlebig und auch in der Kompatibilität immer wieder gut Funktioniert mit fb25 sowieso gut |
AW: Welches DBMS sollte ich nehmen?
Hallo Holger und alle Anderen,
Vielen Dank für den Tipp. Ich versuch's jetzt, erst mal, mit ZEOS, übrigens V6.6.6, und wenn das nix taugt, geh ich auf die IBDAC. Herzlich grüßt Marco |
AW: Welches DBMS sollte ich nehmen?
Wenn alle Stricke reißen:
ODBC-Treiber für FireBird installieren und die ADO-Komponenten nehmen. (Zumindest bei Delphi 7 klappt das hervorragend.) ![]() Dazu muss man keinen FireBird-Server laufen haben, funktioniert, wie die Embeddedversion, mit der fbclient.dll von FireBird 3 und Delphi 7 bei mir problemlos. |
AW: Welches DBMS sollte ich nehmen?
Hallo,
Ich hätte, bevor ich weiter wie wild ausprobiere, noch zwei Fragen: @Rolf: und ElevateDB bringt, sozusagen, seinen eigenen Server gleich mit? @Delphi.Narium: blöde Anfängerfrage, jedenfalls was Datenbanken angeht ;-), die ADO-Komponenten sind...? Ganz herzlich grüßt Marco |
AW: Welches DBMS sollte ich nehmen?
Moin...:P
Zitat:
Der Server muß imho auch gestartet werden. Die Datenbank ist ein File pro Tabelle...wie Paradox. :? Zitat:
![]() |
AW: Welches DBMS sollte ich nehmen?
Ado ist der Nachfolger von ODBC und der Vorgänger von ODBC (:stupid:)
|
AW: Welches DBMS sollte ich nehmen?
Zitat:
![]() Das ADO eine eigene Syntax hat, die vom Standard abweicht, wäre mir allerdings neu. Nutze sie seit mehr als 20 Jahren und mir ist noch nichts derartiges aufgefallen. Die SQL-Syntax ist immer von der Datenbank abhängig. Bei Oracle braucht man die Oracle-Syntax, bei PostGres die PostGres-Syntax, bei FireBird die FireBird-Syntax und bei Access die Access-Syntax. Und genau hier kommt der Irrglaube her, da für viele ADO = Access ist und das ist schlicht und einfach falsch. Egal ob ich nun per Zeos oder ADO auf 'ne FireBird-Datenbank zugreife: Die Syntax ist immer gleich, die SQLs kann ich 1:1 übernehmen. Und nein: Die ADO-Schnittstelle sit nicht zwingend die Beste, aber sie ist für normale Anwendungen ausreichend gut und ausreichend verlässlich. Zumindest sind mir bisher keine Probleme beim Datenbankzugriff (egal auf welche DB) aufgefallen, die auf die ADO-Schnittstelle zurückzuführen wären. Und ich schrieb genau deshalb: Zitat:
Die Zeos-Komponenten nutzen direkt die fbclient.dll von FireBird. Bei der Verwendung der ADO-Schnittstelle nutzt man zuerst diese, die dann den ODBC-Treiber von Firebird nutzt, der dann mit Hilfe der fbclient.dll von FireBird auf die Datenbank zugreift. Man hat halt ein paar Schnittstellen mehr dazwischen, was für den Programmierer in Delphi absolut transparent ist. In allen Fällen pappt man die Komponenten für die Datenbankschnittstelle auf's Formular (...) und arbeitet mit der Datenbank. |
AW: Welches DBMS sollte ich nehmen?
Zitat:
Delphi-Quellcode:
...imho geht bei ADO nur ".Value" :gruebel:
Qry.Parameters.ParamByName('Wert').Value
// statt Qry.ParamByName('Wert').AsString |
AW: Welches DBMS sollte ich nehmen?
Zitat:
Anpassungen braucht man immer, das könnte man also bei alten Programmen, in denen man z. B. die BDE durch "beliebige Datenbankschnittstelle" ersetzen möchte, bei jeder anderen Komponente sagen. Sie weichen alle irgendwie ab und haben (in Teilbereichen) eine andere Syntax. Und dass ADO nur .Value kennt, ist einfach nur falsch. Bei mir kennen die Komponenten zumindest
Delphi-Quellcode:
(Die hab' ich auch schon (soweit ich mich erinnere) in Delphi 4 genutzt.
ADOQuery1.FieldByName('').AsBCD;
ADOQuery1.FieldByName('').AsBoolean; ADOQuery1.FieldByName('').AsCurrency; ADOQuery1.FieldByName('').AsDateTime; ADOQuery1.FieldByName('').AsSQLTimeStamp; ADOQuery1.FieldByName('').AsFloat; ADOQuery1.FieldByName('').AsInteger; ADOQuery1.FieldByName('').AsString; ADOQuery1.FieldByName('').AsVariant; ADOQuery1.FieldByName('').Text; ADOQuery1.FieldByName('').OldValue; ADOQuery1.FieldByName('').NewValue; ADOQuery1.FieldByName('').Value; Und da wir hier von Delphi 5 reden, liegt (vermutlich) mein olles Delphi 7 näher dran, als eine aktuelle Delphiversion. |
AW: Welches DBMS sollte ich nehmen?
Zitat:
Warum fühlst du dich angriffen? :gruebel: |
AW: Welches DBMS sollte ich nehmen?
Hallo zusammen,
Uiii, ich bin ganz erstaunt, das mein gutes, altes D5 mal was hat, was man nicht nachinstallieren muss. Da die ADO's schon drin sind, mach ich mich jetzt mal dran und sage herzlichen Dank für euer Feedback! Herzlichen Gruß Marco |
AW: Welches DBMS sollte ich nehmen?
Hallo nochmal,
Kann mir mal jemand von den FireBird-Experten helfen, bitte: FireBird-Server ist auf einem Windows-Rechner installiert. WIN10, 64-bit FB-Server: 3.0.7, 32-bit Hab ihn mittels der .exe installiert, um hier mal irgendwas ans Laufen zu kriegen. Prozess taucht im TaskManager auf. Auf meinem Arbeitsrechner: ODBC für FireBird 2.5.... (32-bit) installiert, alles angehakt, dass er auch die GDS32.dll erstellt. Unter Systemsteuerung | Verwaltung | ODBC Datasource (32-bit) neue Datenquelle mit Firebird-Treiber hinzugefügt. Was, um himmelswillen, muss ich jetzt bei Datenbank angeben, und, muss es die vorher geben, oder wird die angelegt. Ich habe mal, testhalber 192.168.2.2:examples\empbuild\employee.fdb angegeben, Username: SYSDBA Pw: masterkey Rest ist leer - und Verbindung geht nicht, weil: "unable to establish connection". Häää? Hiiiilfe! ;-) Herzlich grüßt Marco |
AW: Welches DBMS sollte ich nehmen?
Das Problem ist, das Verbindung/Security seit 3.0 geändert hat, du hast jetzt einen Firebird Server 3.x aber den ODBC Treiber 2.x installiert, das funktioniert nicht.
Der ODBC Treiber für Firebird 2.5 kann mit der neuen Security Technik nicht umgehen. Da es soweit ich weiß, keinen ODBC Treiber für die 3.0 Version gibt, zumindestens sehe ich keinen, am besten den Firebird 2.5.x Server installieren. |
AW: Welches DBMS sollte ich nehmen?
Hallo Jörg,
Erst mal Danke für deine Antwort. Hab den V3 komplett deinstalliert und den 2.5 drauf - selbes Ergebnis... Herzlich grüßt Marco |
AW: Welches DBMS sollte ich nehmen?
in der firewall die firebird.exe bzw fbserver.exe freigeschaltet? port 3050 oder gleich
die ganze exe dann am besten einen kompletten connectionstring nehmen 192.168.2.2/3050:C:\pfad\db.fdb dann drauf achten, das nicht irgendeine alte gds32.dll evtl noch von interbase irgendwo auch im pfad rumgeistert, besser explizit als client dll eine mit pfad so eintragen von der du weisst, das die möglichst auch 32bit ist ist von der gleich firebird version stammt dann ggf noch mal drauf achten, ob du einen 32bit ode reinen 64 bit odbc angelegt hast (odbcadm32.exe gibt es für 32 und 64 bit und nicht alles was einer einträgt ist dann auch für den anderen benutzbar Und zum Mischbetrieb fb25/fb30: klick beim firebird 3 setup einfach auch die legacy option mit an, dann kommst du auch mit jedem älteren client auf den server |
AW: Welches DBMS sollte ich nehmen?
OP könnte auch einen Postgres Windows Server nehmen. Finde den sympathischer als Firebird. Kann man auch mit ADO drauf zugreifen. Muss man nur den ODBC Treiber von Postgres installieren. Wie das bei Delphi 5 aussieht, habe ich aber noch nicht ausprobiert. Hab das bisher nur mit DBGo gemacht.
Der Connection String würde aber so ungefähr aussehen (muss natürlich angepasst werden):
Code:
Driver={PostgreSQL UNICODE};Server=192.168.2.7;Port=5432;Database=testdb;Uid=postgres;Pwd=abc123;';
|
AW: Welches DBMS sollte ich nehmen?
Hallo Holger,
Zitat:
Ich hab die fbclient.dll aus der Server-Installation einfach in der Daten-Quelle mit angegeben, das ist, denke ich, das sicherste. Und, siehe da: kaum macht man's richtig, schon funktioniert's! Ganz herzlichen Dank! Was die Kompatibilität zwischen ODBC und FB3 angeht, scheint es so zu sein, das die bei FB schon aufgepasst haben. Jedenfalls sagt meine firebird.conf
Code:
sprich, es ist nix an den Default-Werten geändert, und die Verbindung kommt brav zustande.
#AuthClient = Srp, Srp256, Legacy_Auth #Non Windows clients
#AuthClient = Srp, Srp256, Win_Sspi, Legacy_Auth #Windows clients Oder sollte, besonders hier, noch was geändert werden? Eine, hoffentlich letzte, Frage zu ADO: Mußss ich eine Datenquelle einrichten, oder kann ich das ganze auch beim ConnectionString der ADOConnect-Komponente mit angeben? Herzlich grüßt Marco |
AW: Welches DBMS sollte ich nehmen?
wenn du eine firebird3 client dll nimmst, musst du nichts ändern, wenn es Zugriff auf anderen Wegen gibt (java, .net oder sonstwas)
die nur mit älteren Implementationen existieren, dann schon solange das # am anfang der zeile steht ist das auskommentiert, hat also keinen Einfluß auf die Funktionalität aber wie üblich: wenn es klappt, nix mehr anfassen ;-) |
AW: Welches DBMS sollte ich nehmen?
Zitat:
ConnectionString mit der ADOConnect-Komponente zusammenbauen. Händisch erstellt könnte es z. B. in etwa so aussehen:
Code:
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="Driver=Firebird/InterBase(r) driver;Dbname=e:\Datenbanken\Datenbankdatei.FDB;CHARSET=ISO8859_1;UID=SYSDBA;Client=C:\Firebird_3_0\fbclient.dll;"
|
AW: Welches DBMS sollte ich nehmen?
Zitat:
@TigerLilly: bei MSSQL ist es nicht vorgesehen, den Server jemals wieder zu deinstallieren. Anders kann ich mir das nicht erklären, dass man den zwar mit einem Klick installieren kann, fürs Entfernen aber ein Dutzend Programme, Tools und Bibliotheken schön einzeln deinstallieren muss, jeweils mit einem Neustart. Zum Vergleich Firebird: Installieren: die ZIP Datei entpacken, Batchdatei für Dienstinstallation als Admin doppelklicken. Deinstallieren: Batchdatei für Dienstdeinstallation als Admin doppelklicken, Ordner löschen. |
AW: Welches DBMS sollte ich nehmen?
Zitat:
![]() Zitat:
|
AW: Welches DBMS sollte ich nehmen?
Hallo zusammen,
Ne ne, ;-), bei mir bleibt's definitiv beim FireBird, schlicht, schnell, und ich liebe Konfigurations-Dateien, nicht für jeden noch so kleinen Kram eine GUI. Prima! Und vielen Dank für den Connection-String-Vorschlag, probier ich nachher aus, dann ist's nämlich ein Schritt weniger beim Installer-Bauen. Herzlich grüßt Marco |
AW: Welches DBMS sollte ich nehmen?
Hi,
Zum FB. Für Windows etwas ungewöhnlich, eher nicht für UNIX, sowohl Client als auch Server haben eine conf-Datei, sprich eine Anwendung kann auch eine eigene haben. Bevor man viel herumprogrammiert, lieber mal schauen ob die DB nicht selbst einen (Lösungs)Weg anbietet. Mit Firebird bist du an sich eher auf der sicheren Seite, sobald du mal die Ruhe und Kraft fandest den gezippten zu konfigurieren. Der Firebird ist eine der wenigen Datenbanken, deren Konfiguration sich noch überschaubar ausnimmt. Ich verwende keine, aber wenn Verschlüsselung eines ist, dann schau dir das Thema zuerst an. Ansonsten freue dich. Ich hatte mal eine ähnliches 'Projekt' ala 'Weg von Btrieve' und vor ca. 10 Jahren hat die Alpha-1 des FB nicht das ewige Verdoppeln der Datensätze überstanden in einem Insert nicht überstanden. Müsste ich mal schauen, ob das heute geht. Aber die Idee hatte eher ein Freund von mir, der gerne von der Oracle weg wollte, aber ein ordentliches aber verbessertes PL/SQL nicht missen wollte. Zumal die Auswertungen über eine für damalige Verhältnisse hohe dreistellige Zahl an Gigabytes liefen, war ob genannter ein Art kleiner 'Burn-In' Test. Mich erstaunt immer wieder, was der Firebird heutzutage hergibt und eigentlich schon ein Weilchen. Gruß Michl Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 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-2025 by Thomas Breitkreuz