![]() |
Datenbank: ? • Zugriff über: ?
Ist Paradox die richige DB?
Hallo DP'ler,
ich habe zwar schon einige Programme gegen die verschiedensten Datenbanken (Oracle, Centura/Gupta, MSSQL,MySQL u.a.) geschrieben, aber nun suche etwas "einfaches" für ein privates Projekt. Immer wieder stoße ich hier im Form über Paradox, aber ist das das richtige? Ich möchte eine DB die: - kostenlos ist (ist ein privates Projekt und so dicke hab ichs auch wieder nicht) - sich bei der Installation meines Programms mit installiert, wenn nötig (womit MySQL weg fällt) - Outer-Joins, Unions und SubQuerys versteht - sich vernüftig administieren lässt - Stored Procedure, Trigger und - Views(!) unterschützt Der Zugriff soll zunächst auf den localen Rechner erfolgen, später aber, ohne großen Aufwand, evtl. auch netzwerkfähig sein, und ganz später auch von Linux-Anwendungen erreichbar sein. Kann das Paradox? In einigen Tuts habe ich was von dbExpress,FoxPro und BDE(?) gelesen. Was haltet ihr davon? Was könnt ihr mir empfehlen? Sicher wurde so eine Frage hier im Forum schon einige male gestellt, aber aus den Hinweisen in der Suche nach "Welche Datenbank" zu suchen und den 'zig Treffern bin ich nicht fündig geworden, allzumal das Thema Views in den von mir gelesenen Threads nie erwähnt wurde. Also nehmt mir meine Frage bitte nicht übel. Danke und Grüße gmc |
Re: Ist Paradox die richige DB?
Nimm besser eine andere, modernere Datenbank. Etwa Firebird, da existiert eine EMBEDDED-Lösung bei der du keinen Server installieren mußt, sondern lediglich einige DLL 's zu deinem Programm hizupacken mußt. Als Zugriffskomponente bietet sich da unter anderem ZEOS an.
Schau mal hier in den ![]() Grüße Mikhal |
Re: Ist Paradox die richige DB?
Firebird ist schonmal sehr gut.
Weitere Möglichkeiten SQLite - Benötigt gar keine Installation, ist winzig klein kann, glaube ich, Alles was Du willst... MSDE - HighEnd-Server, einfache Installation, Admintools von Drittanbietern (gibts auch als Freeware) Wenns auch ohne StoredProcedures geht, dann Access. Als Desktop-DB wirklich zu empfehlen. |
Re: Ist Paradox die richige DB?
Hallo gmc.
Nur damit klar ist über was wir hier diskutieren: Paradox aus der Sicht eines Delphi-Programmierers ist ein externes Datenformat und keine Datenbank. Die Programmierschnittstelle heißt Borland Database Engine (BDE) und war damals der Versuch Open Database Connectivity (ODBC) durch Integrated Database Application Programming Interface (IDAPI) zu toppen. Die BDE spielt heute kaum noch eine Rolle und wird von Borland auch schon seit Jahren nicht mehr gewartet, gescheige denn weiterentwickelt. Die BDE in Verbindung mit dem Paradox Datenformat ist netzwerk- und multiuser-fähig, allerdings auf der Basis von record und file locking. Im Gegensatz zu den großen SQL-Servern, bei denen die Zugriffsroutinen über ein Netzwerkprotokoll aktiviert werden, liegen die Paradox-Zugriffsroutinen im Adressraum der Anwendung. Es gibt keine zentrale Instanz zur Verwaltung der Zugriffe. Es gibt auch nur einen schmächtigen SQL-Dialekt namens LOCALSQL, der vieles vermissen lässt, was der gewiefte SQL-Experte erwartet. Die Liste der nicht implementierten ANSI-SQL Befehle beläuft sich auf knapp 70 Befehle. Nein zu Paradox - das ist meine Antwort für dich. Ich bin kein notorischer Gegner dieses Datenformats und habe es in den vergangenen Jahren oft genug in erfolgreichen Projekten eingesetzt, aber wenn deine Anforderungen eine Bedeutung haben, dann schau dich nach etwas anderem um - Stored Procedure, Views, Trigger und Subqueries sind mit Paradox definitiv nicht zu machen. Grüße vom marabu |
Re: Ist Paradox die richige DB?
Moin, moin,
Marabu hat das schon auf den Punkt gebracht. Denke, das Firebird-Embedded für Dich die richtige DB ist. Es kann alle geforderten Kriterien, hat mit Firebird-Standart einen großen Bruder, wenn Dein Projekt zufällig wachsen sollte und wenn Du noch die Erweiterungen des Fyracle-Projects einbeziehst, kannst Du auch noch einen Teil Deiner Oracle-Kentnisse einbeziehen. Grüße // Martin |
Re: Ist Paradox die richige DB?
Es gibt eine "Free Embedded Version" von NexusDB auf der
![]() |
Re: Ist Paradox die richige DB?
Ebenfalls gut und kostenlos als "embedded Version" ist der ADS (Advantage Database Server), zu finden hier:
![]() Gruß Pfoto |
Re: Ist Paradox die richige DB?
Erst mal Danke für die teilweise sehr ausführlichen Antworten. Wieder viel gelernt.
Ich probiere z.Z. eure Vorschläge aus. Firebird war meine erste Wahl. Sah alles bestens aus, allerdings lässt die Embedded-Version keinen Zugriff auf einer "auf-einem-netzlaufwerk-liegenden" Datenbank zu. Dumme Sache das, da alle meine Projekte auf meinem Server liegen. Da ich mich immer mit meiner Frau um die Rechner "streite" und sich das in Zukunft auch nicht ändern wird, empfinde ich das als die beste Lösung. Mit ADS hatte ich auch schon zu tun. ADS verbinde ich mit dBase bzw. Clipper, also auch dateibasierendes Datenformat, ähnlich Paradox (wie ich gelernt habe ;-) ). Oder oder irre ich da? Für Clipper-DBF's die eine CDX-Index-Datei führen ist ADS def. die beste Wahl. Die Embedded NexusDB schau ich mir grad an. Enttäuschend das im Delphi Guide des Manuals nur ein "todo" zu lesen ist. Von Access will ich ja wegkommen, da ich in Zukunft auf MS-Office komplett verzichten will. Auch hab ich es nie geschafft über ADO, damals allerdings VB6, eine binäre Datei in Access zu speichern. SQLite und MSDE kenne ich noch nicht. Falls ihr wisst, dass ich mit diesen auch nicht auf Netzlaufwerken arbeiten, könnt ihr mir doch gleich einen Wink geben, oder? Falls alle Stricke reisen, werd ich wohl in den sauren Apfel beisen (oder besser meine Frau) und auf Firebird zurückgreifen. Der Zugriff wird dann über ZEOS erfolgen, allzumal ich ZEOS bereits für MySQL installiert habe. Trotzdem nochmal Vielen Dank für die Ratschläge. gmc |
Re: Ist Paradox die richige DB?
Hmmm... Ich nutze jetzt zur Zeit selber gerne den Firebird in der Embedded-Variante für priovate Projekte. Würde ich normalerweise auch empfehlen, aber falls du auf "den Biss in den suaren Apfel" verzichten möchtest und übers Netzwerk zugreifen möchtest, schau dir doch mal
![]() |
Re: Ist Paradox die richige DB?
Zitat:
|
Re: Ist Paradox die richige DB?
Naja, ich denke schon. Aber bei Paradox via BDE kann man ja auch im Exklusiv-Modus über Netzlaufwerke zugreifen und das geht beim embedded Firebird eben nicht.
|
Re: Ist Paradox die richige DB?
Eins Vorneweg: Dank an den marabu, der zu Recht Paradox und BDE in die Asservatenkammer schickt.
Zitat:
SQLite = Mini-DB ohne Installationsaufwand aber, soweit ich inzwischen weiss, nicht threadfähig. Die MSDE bringt nur dann etwas, wenn Du die nötigen Tools besorgen kannst
Die MSDE, also die Freewarevariante des SQL-Servers (eines der schnellsten DB), kommt gänzlich ohne diese Programme. Es gibt einige Freewaretools, aber IMHO bist Du dann auch mit FB gut bedient, zumal FireBird in der Installation ziemlich klein ist. Das Installationspaket enthält zwar keines der o.g. Tools, aber die gibt es zuhauf im Internet für Lau, weil FB eben Open Source ist. [/senf] |
Re: Ist Paradox die richige DB?
Zitat:
ADS basiert auf flatfiles, d.h. jede Tabelle hat ihre eigene Datei. Das mag Nachteile haben, hat aber auch unheimlich Vortiele. Wenn du die komplette DB in eine einzige Datei speicherst, ist bei einem Hardwarefehler (Dateisystem, ein Bit umgefallen) die komplette DB kaputt. Bei Flatfile nur eine einzige Tabelle, vielleicht nicht einmal die, wenn es den Index erwischt hat. Auch hast du eventuell ein Filesystem mit Größenbeschränkung (FAT32 bei 4GB)...das begrenzt entweder nur eine Tabelle oder die ganze Datenbank (je nach Format). Rücksichern einzelner Tabellen? Nur eine Datei ersetzen gegenüber backup/restore. Neben DBF gibts beim ADS auch das erheblich erweiterte ADT-format (nein, man muss dazu nicht wie unter mySQL eine andere Engine anspringen...die Verwendung geht sogar parallel in einer Anwendung/einem SQL statement). Über die ADT noch ein Data dictionary gepflanzt und Du hast alles, was Du oben gewünscht hast...sogar kostenlos (mit dem Local Server). Trigger, Stored Procedures (hey - beides sogar auch in Delphi geschrieben), Default Werte, RI, Benutzerverwaltung, ... Also bitte nicht abstempeln, weil Du vor 10 Jahren mal was davon gehört hast ;) |
Re: Ist Paradox die richige DB?
Zitat:
Die MSDE unterstützt Replikation (sogar Merge-Replikation). Ein Kommandozeilentool ist auch immer dabei (OSQL). Mit OSQL kann man die komplette DB (mit mühevoller Tipparbeit) administrieren. Gute Freewaretools für MSSQL/MSDE gibt es wie Sand am Meer. Mein klarer Freeware Favorit ist der ![]() Wer abschätzen kann das seine DB nicht größer als 2 GB wird und auf T-SQL Vollausstattung nicht verzichten möchte sollte imho zur MSDE greifen. Schöne Grüße, Jens :hi: |
Re: Ist Paradox die richige DB?
Danke für die Korrektur. Aber was war denn das, war die MSDE nicht kann? Irgend so ein Feature war doch abgeschaltet? Ich kann jedenfalls meine MSDE nicht replizieren, da meckert der Enterprise Manager.
|
Re: Ist Paradox die richige DB?
Zitat:
bei mir ist die MSSQL7-Developer-Ed. Publisher und die MSDE Subscriber einer Merge Replikation. Ich glaube bei Push-Pull Replikationen gab es Restriktionen, aber bevor ich was falsches sage, blätter ich später lieber eine Weile im MSDN ... Bis nachher ... :hi: |
Re: Ist Paradox die richige DB?
Hier
![]() 1. Der Publisher und der Distributor müssen auf der selben Maschine laufen. (Remote Distibitoren werden also nicht unterstützt) 2. Die MSDE kann nur Publisher von Snapshot Replikationen bzw. Merge Replikationen sein. (Als Publisher von transaktionellen Publikationen muss also ein kostenpflichtiges Produkt hinhalten.) Als Subscriber kann die MSDE bei allen drei Replikationstypen dienen. Der Rest sind halt die ganz normalen MSDE Einschränkungen (2GB Limit, 5 Workerthreads (also für die Abarbeitung von 5 parallel laufenden Prozessen (Abfragen o.Ä) optimiert, keine GUI Verwaltungs- und Optimiertungstools). ( ![]() Wenn man mit den 5 Workerthreads auskommt (was imho bei wenig bis normal datenbanklastigen Anwendungen und gut programmiertem SQL Code, bis zu 20 Usern der Fall sein dürfte), dann hat man einen wirklich hochwertigen SQL Server mit einem mächtigen T-SQL Dialekt. Zudem gibt es keine Einschränkung, wenn man die MSDE kommerziell nutzen möchte. Schöne Grüße, Jens :hi: |
Re: Ist Paradox die richige DB?
Cool, danke. Genau das war es.
|
Re: Ist Paradox die richige DB?
Zitat:
nun ein Datenbanksystem mit einem Serverprogramm (dat sind die embedded Dinger nun mal auch), die finden das total uncool wenn die DB-Dateien auf einem Netzwerk liegen (also DB-Server läuft auf PC A und die DB-Files liegen auf PC B). Denn wenn die Netzwerkverbindung ein wenig hakt, dann haben die sofort Stress und machen :wall: oder PC B hängt sich mal weg und startet eben mal neu, oder, oder, oder ... Aber wie sagte man schon, es handelt sich hier ja um DB-Server (Software) ... aha ... und Du hast einen Server (Hardware), dann installier doch den DB-Server (Software) auf den Server (Hardware) und dann greifst Du auf den Server einfach zu (per TCP/IP). Was besseres kannst Du doch dann gar nicht haben. Oder wir haben jetzt alle mal wieder vorbeikommuniziert? cu |
Re: Ist Paradox die richige DB?
Nach dem ich wieder mal Zeit gefunden habe mich meinen privaten Projekten zu widmen, ist die Wahl getroffen.
Der ADS-LocalServer wirds werden. Danke euch für die zahlenreichen Tipps und Hinweise. @Sir Rufo und der Rest, den's interessiert: Mein Server ist ein Hardware-Server, allerdings unter Linux. Somit wäre daher die Auswahl der DB-Server(Software) schon eingeschränkt(er). Deshalb wollte ich eine Engine, die lokal unter Win32 läuft (ohne großen Installieraufwand) und die DB's von einem Netzlaufwerk verwendet, da all meine Projekte eben dort liegen und ich evtl. mit meinem zweiten PC ebenfalls darauf zugreifen kann und möchte. Mein Server(Hardware) musste in den letzen 2 Jahren einmal neu gestarten werden (toi toi toi ;) ), also sehe ich keine größeren Probleme bei der Verfügbarkeit. Mein Projekt ist ausschließlich für private Zwercke gedacht. Evtl. bekommen meine Kumpel/-ienen (und alle die es wollen) eine Kopie davon. In aller Regel haben meine Kumpels kein Netzwerk, so dass die DB's dort eh lokal liegen würden. ... und mit dem ADS-LocalServer ist das alles realisierbar. bis die Tage gmc |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 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