Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Welches DBMS sollte ich nehmen? (https://www.delphipraxis.net/206983-welches-dbms-sollte-ich-nehmen.html)

Marco Steinebach 15. Feb 2021 06:16

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)

haentschman 15. Feb 2021 06:47

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...
https://www.firebirdsql.org/en/firebird-3-0/
...bei 14MB Setup (ZIP) wird MSSQL blaß! :thumb:

Aktueller Thread: https://www.delphipraxis.net/204437-...g-welches.html

Vor allem würde ich abraten von MSSQL, ORACLE, MySQL...zu groß zu umständlich. :stupid:

Zitat:

aber wenigstens Enterprise, also mit allem Datenbank-Zugriffs-Kram.
...heute brauchst du kein Enterprise. Mit der Professional kannst du auch mit Devart UniDAC (Achtung Werbung: :zwinker:) auf alles zugreifen. Günstiger (Free) geht es mit ZEOS...

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:

TigerLilly 15. Feb 2021 07:11

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

Lemmy 15. Feb 2021 07:17

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.

mkinzler 15. Feb 2021 07:24

AW: Welches DBMS sollte ich nehmen?
 
Allerdings könnte es unter Delphi 5 trotzdem schwer werden ...

Andreas13 15. Feb 2021 08:41

AW: Welches DBMS sollte ich nehmen?
 
Hallo Marco,
schau mal hier rein: Absolute Database https://www.componentace.com/bde_rep...e_database.htm Vielleicht ist es was für Dich.
Gruß, Andreas

Bernhard Geyer 15. Feb 2021 08:44

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.

IBExpert 15. Feb 2021 11:56

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

schotti65 15. Feb 2021 12:23

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.

Bernhard Geyer 15. Feb 2021 12:44

AW: Welches DBMS sollte ich nehmen?
 
Zitat:

Zitat von schotti65 (Beitrag 1483002)
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.

Und bei Betrieb in Citrix/Remote Desktop kostenpflichtig.

Rolf Frei 15. Feb 2021 12:54

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.

www.elevatesoft.com

Marco Steinebach 15. Feb 2021 16:31

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

IBExpert 15. Feb 2021 16:48

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
https://www.youtube.com/user/IBExpertise

wird gerade bzgl installation einiges erklärt

mkinzler 15. Feb 2021 16:54

AW: Welches DBMS sollte ich nehmen?
 
Zitat:

ist bei FB30 mittlerweile sogar die gleiche (die kann sowohl remote als auch embedded, je nach connectionstring)
Das ging vorher mit der embedded. Nur der Zugriff auf einen lokal installierten Server (nicht IP) war nicht möglich.

dummzeuch 15. Feb 2021 18:10

AW: Welches DBMS sollte ich nehmen?
 
Zitat:

Zitat von Marco Steinebach (Beitrag 1482963)
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,

Früher (tm) gab es mal den nicht-Server Versionen von Windows eine Beschränkung auf max. 10 Zugriffe von anderen Rechnern aus (MS wollte natürlich die teuren Server-Lizenzen verkaufen). Ich weiß nicht, ob das immernoch so ist, aber falls das ein Problem für Deien Anwendgnsfall sein sollte, solltest Du das nochmal checken.

IBExpert 15. Feb 2021 20:20

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"

Marco Steinebach 15. Feb 2021 20:30

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

IBExpert 15. Feb 2021 20:53

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 https://www.devart.com/ibdac/ benutzt
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

Marco Steinebach 16. Feb 2021 07:16

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

Delphi.Narium 16. Feb 2021 10:58

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.)

https://www.firebirdsql.org/en/odbc-driver/

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.

Marco Steinebach 17. Feb 2021 06:58

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

haentschman 17. Feb 2021 07:47

AW: Welches DBMS sollte ich nehmen?
 
Moin...:P
Zitat:

ElevateDB bringt, sozusagen, seinen eigenen Server gleich mit?
"The ElevateDB Server is a small single executable, only requires a single INI text file for configuration, and can be run as an application or Windows service."
Der Server muß imho auch gestartet werden. Die Datenbank ist ein File pro Tabelle...wie Paradox. :?
Zitat:

die ADO-Komponenten sind
Sind Zugriffskomponenten wie ZEOS, IBDAC etc. Nur das ADO seine Eigenheiten hat. Syntax die vom Standard abweicht...etc. Viele sind von ADO u.a. deswegen weg.
https://www.google.de/search?q=delph...w=1876&bih=990

mkinzler 17. Feb 2021 08:14

AW: Welches DBMS sollte ich nehmen?
 
Ado ist der Nachfolger von ODBC und der Vorgänger von ODBC (:stupid:)

Delphi.Narium 17. Feb 2021 08:25

AW: Welches DBMS sollte ich nehmen?
 
Zitat:

Zitat von haentschman (Beitrag 1483157)
Zitat:

die ADO-Komponenten sind
Sind Zugriffskomponenten wie ZEOS, IBDAC etc. Nur das ADO seine Eigenheiten hat. Syntax die vom Standard abweicht...etc. Viele sind von ADO u.a. deswegen weg.

Bei Delphi 7 hat man standardmäßig Datenbankkomponenten für die BDE (TTable, TQuery ...) und die ADO-Komponenten (TAdoConnecntion, TAdoQuery, TADoTable, ...) für die ADO-Schnittstelle.

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:

Wenn alle Stricke reißen:
Also mögliche Lösung für den Fall, dass keine andere Lösung gefunden werden kann.

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.

haentschman 17. Feb 2021 08:29

AW: Welches DBMS sollte ich nehmen?
 
Zitat:

Das ADO eine eigene Syntax hat, die vom Standard abweicht
Nicht SQL Syntax...:zwinker:
Delphi-Quellcode:
Qry.Parameters.ParamByName('Wert').Value
// statt
Qry.ParamByName('Wert').AsString
...imho geht bei ADO nur ".Value" :gruebel:

Delphi.Narium 17. Feb 2021 08:47

AW: Welches DBMS sollte ich nehmen?
 
Zitat:

Zitat von haentschman (Beitrag 1483161)
Zitat:

Das ADO eine eigene Syntax hat, die vom Standard abweicht
Nicht SQL Syntax...:zwinker:
Delphi-Quellcode:
Qry.Parameters.ParamByName('Wert').Value
// statt
Qry.ParamByName('Wert').AsString
...imho geht bei ADO nur ".Value" :gruebel:

Die Delphi-Syntax bei ADO mag anders sein als bei Zeos, BDE, UniDac, FireDac, ADO .... Aber das als Argument für "Sollte man nicht nehmen", halte ich für gewagt. Mir ist nicht bekannt, dass man ohne Änderungen am Quelltext Datenbankschnittstellen untereinander austauschen kann (egal welche gegen welche).

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:
  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;
(Die hab' ich auch schon (soweit ich mich erinnere) in Delphi 4 genutzt.
Und da wir hier von Delphi 5 reden, liegt (vermutlich) mein olles Delphi 7 näher dran, als eine aktuelle Delphiversion.

haentschman 17. Feb 2021 08:51

AW: Welches DBMS sollte ich nehmen?
 
Zitat:

Und dass ADO nur .Value kennt, ist einfach nur falsch
...bei Parametern!

Warum fühlst du dich angriffen? :gruebel:

Marco Steinebach 17. Feb 2021 19:41

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

Marco Steinebach 17. Feb 2021 22:09

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

jsheyer 17. Feb 2021 22:29

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.

Marco Steinebach 17. Feb 2021 22:50

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

IBExpert 17. Feb 2021 23:13

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

UntoterGeist 18. Feb 2021 00:10

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;';

Marco Steinebach 18. Feb 2021 04:50

AW: Welches DBMS sollte ich nehmen?
 
Hallo Holger,
Zitat:

Zitat von IBExpert (Beitrag 1483247)
in der firewall die firebird.exe bzw fbserver.exe freigeschaltet?

Natürlich nicht! *GRRRRRR!

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:
#AuthClient = Srp, Srp256, Legacy_Auth          #Non Windows clients
#AuthClient = Srp, Srp256, Win_Sspi, Legacy_Auth #Windows clients
sprich, es ist nix an den Default-Werten geändert, und die Verbindung kommt brav zustande.
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

IBExpert 18. Feb 2021 08:43

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 ;-)

Delphi.Narium 18. Feb 2021 12:07

AW: Welches DBMS sollte ich nehmen?
 
Zitat:

Zitat von Marco Steinebach (Beitrag 1483252)
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?

Wenn's dialoggesteuert sein soll, dann ODBC-Treiber für die Datenbank einrichten und den
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;"

Frickler 18. Feb 2021 20:14

AW: Welches DBMS sollte ich nehmen?
 
Zitat:

Zitat von dummzeuch (Beitrag 1483047)
Zitat:

Zitat von Marco Steinebach (Beitrag 1482963)
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,

Früher (tm) gab es mal den nicht-Server Versionen von Windows eine Beschränkung auf max. 10 Zugriffe von anderen Rechnern aus (MS wollte natürlich die teuren Server-Lizenzen verkaufen). Ich weiß nicht, ob das immernoch so ist, aber falls das ein Problem für Deien Anwendgnsfall sein sollte, solltest Du das nochmal checken.

Das sind ab Windows 7 20 Zugriffe. Aber: damit gemeint sind nicht irgendwelche Zugriffe, sondern Zugriff auf eine Dateifreigabe. Die braucht man aber nur für eine dateibasierte Datenbank, wie etwa dBase, Paradox oder auch ADS Local Server (hatte wer anderes erwähnt).

@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.

IBExpert 19. Feb 2021 12:08

AW: Welches DBMS sollte ich nehmen?
 
Zitat:

Zitat von Frickler (Beitrag 1483318)
Das sind ab Windows 7 20 Zugriffe. Aber: damit gemeint sind nicht irgendwelche Zugriffe, sondern Zugriff auf eine Dateifreigabe

Das das wirklich damit gemeint ist, halte ich für optimistisch, Microsoft ist da aber ziemlich wischi waschi in der EULA, aber Zugriff auf eine Firebird Software, die auf der Maschine laufen muss, interpretiere ich hier als Bestandteil der maximal 20 anderen Geräte. Microsoft spricht dabei nämlich explizit nicht von microsoft internen Diensten oder mitgelieferter Software. Aufgrund der genannten Ausnahmen (Daten synchronisieren) könnte man nun zum Beispiel eine Replikation so interpretieren, das die ja nur das macht und damit sich dann mit der Windows Maschine auch hunderte andere Maschinen synchronisieren können. Das ist aber ein schmaler grad, auf dem man da wandert und aus meiner Sicht: Bis zur Netzwerkgröße von 21 Rechnern mit Windows 10 ist da alles legal, ab dem 22. könnte es eng werden ...

https://www.microsoft.com/en-us/UseT...manGermany.htm

Zitat:

(iii) Geräteverbindungen. Sie sind berechtigt, bis zu 20 anderen Geräten Zugriff auf die auf dem lizenzierten Gerät installierte Software zu ermöglichen, um die folgenden Softwarefeatures auf dem lizenzierten Gerät zu nutzen: Dateidienste, Druckdienste, Internetinformationsdienste und gemeinsame Nutzung der Internetverbindung sowie Telefondienste auf dem lizenzierten Gerät. Sie sind berechtigt, einer beliebigen Anzahl von Geräten den Zugriff auf die Software auf dem lizenzierten Gerät zu ermöglichen, um Daten zwischen Geräten zu synchronisieren. Dies bedeutet jedoch nicht, dass Sie das Recht haben, die Software auf diesen anderen Geräten zu installieren oder die Hauptfunktion der Software (abgesehen von den in dieser Ziffer aufgeführten Features) auf diesen anderen Geräten zu verwenden.
Das Thema ist aber eigentlich ein ganz anderer Thread und wenn du Firebird auf Linux installierst, kann dir das eh egal sein ...

Marco Steinebach 23. Feb 2021 17:12

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

MichaelT 23. Feb 2021 18:49

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:

Zitat von Marco Steinebach (Beitrag 1483631)
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



Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 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