Website-Icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Verwenden Sie die geheime Alternative zu SQLite?

pexels cottonbro 4709289

Ich kenne den besten Weg, einen Softwareentwickler zu traumatisieren, der seit einiger Zeit Delphi verwendet. Du zeigst ihnen einfach dieses Bild:

Der BDE-Verwaltungsleiter. So viele „glückliche“ Stunden, in denen versucht wird, die Meldungen „PDOXUSERS.NET wird verwendet“ aufzulösen und alles über den Zweck geheimnisvoller Einstellungen wie SharedDir und NETDIR zu erfahren. Schaudern. Wenn Sie eine Datenbank, auf die über die BDE zugegriffen wird, auf einem Netzlaufwerk speichern wollten, mussten Sie eine Menge Dinge tun, um sicherzustellen, dass sie nicht beschädigt wurde. Trotzdem wurden Entwickler zu Experten bei der Reparatur von Paradox-Datenbankbeschädigungen. Die Dinge waren ziemlich düster, obwohl dies eine Zeit war, in der fast alles, was wir heute für selbstverständlich halten, noch in den Kinderschuhen steckte; Einwahl war üblich (und unregelmäßig) und fast jeder hatte mindestens eine AOL-CD als Getränkeuntersetzer.

Warum nutzten die Leute die BDE, wenn sie so viele Probleme hatte?

Nun, die kurze Antwort war: Es hat funktioniert. Sobald Sie es konfiguriert hatten, funktionierte es ziemlich gut und war extrem einfach zu bedienen. Es ermöglichte Ihnen, auf einfache Weise mit verschiedenen Datenbanken wie DBase und Paradox zu verknüpfen. So einfach, dass Paradox zusammen mit DBase de facto zu einer Nicht-SQL-Datenbanktechnologie wurde, die ihre eigenen Probleme hatte.

SQLite das universelle Toolkit

In diese Pre-Windows-Arena schob sich SQLite ein. Es wurde von Anfang an als einfache Datenbank entwickelt, die es ermöglicht, SQL-ähnliche Befehle für eine Reihe von Tabellen auszuführen, die in einer einzigen „flachen“ Datei enthalten sind. Es hatte – und hat immer noch – Einschränkungen und Macken wie AUTOINC Spalten, die nicht mit ROWID Spalten identisch sind, oder die Tatsache, dass es keine nativen DATETIME oder BOOLEANTypen hat.


Oh, und wie PostgreSQL, ein Name, der mich immer noch aus der Fassung bringt, wenn ich ihn laut aussprechen muss, ist der Name SQLite nervig. Seequal-Licht; sollte es nicht „seequalit“ ausgesprochen werden?

Trotzdem ist es massiv populär geworden.

Was ist die geheime native Delphi-Alternative zu SQLite?

Offensichtlich versteckt sich ein ziemlich beeindruckendes Datenbanksystem, das SQLite für Desktop-Apps, die in Delphi und C++ Builder geschrieben wurden, fast vollständig ersetzt. Diese Datenbank ist Absolute Database von Technology Partner Component Ace.

 

Warum ist Absolute Database nicht bekannter?


Aus irgendeinem Grund hat Absolute Database die Fantasie der Delphi-Entwickler nicht ganz so beflügelt wie andere Systeme. Ich bin mir nicht ganz sicher, warum das so ist.

In meinem ‚Tagesjob‘ verwenden wir Absolute Database für ein Desktop-Produkt – das auch Mehrbenutzer sein kann und die Daten auf einem Netzwerkserver gespeichert sind. Dieses Desktop-Produkt hat fast 10.000 einzelne Installationen. Wie bei jeder Flat-File-Datenbank machen Leute verrückte Dinge, wie zum Beispiel Stromausfälle während des Schreibens von Daten oder eine böswillige Bösartigkeit namens „Windows Updates“, die den Server überfällt und etwas weniger elegant neu startet, als dies die Windows-API-Dokumentation vermuten lässt. Beim Starten der App erholt sich die Absolute Database-Datenbank automatisch und repariert automatisch alle Schäden, ohne dass ein Benutzereingriff erforderlich ist.

Bei uns hat es sich bewährt. Unser typisches Kundenprofil für die Desktop-Version unserer Produkte sind kleine bis mittelständische Unternehmen und der allgegenwärtige „Tante-Emma-Laden“. Wir haben auch Client-Server-Produkte, die vollwertige RDBMS wie MySQL und PostgreSQL verwenden, aber die Produktlinie mit Absolute Database ist so konzipiert, dass sie für „normale“ Benutzer einfach zu installieren und zu verwenden ist, ohne dass DB-Administratoren, technisches Personal oder in vielen Fällen kein richtiges Netzwerk- und IT-Personal

Meine Liste der wichtigsten Funktionen von Absolute Database

Gibt es ein Datenbank-Desktop-Äquivalent für Absolute Database?


Es gibt nicht nur ein Äquivalent zum ehrwürdigen Database Desktop, sondern Component Ace liefert auch den vollständigen Quellcode dafür. Diese App dient als großartiges Werkzeug zum Erstellen, Abfragen und Verwalten von Datenbanken basierend auf dem Absolute Database-Format, ist aber auch ein großartiges Referenzwerkzeug für den Zugriff auf die Daten und das Ausführen verschiedener nicht offensichtlicher Funktionen wie das Erstellen oder Reparieren von DB-Tabellen zur Laufzeit.

Absolute Database – Datenbankmanager-Tool

 

Wo bekomme ich die Absolute-Datenbank?

Sie finden die Absolute Database auf der offiziellen Website von Component Ace hier: https://www.componentace.com/bde_replacement_database_delphi_absolute_database.html

Was sind die Hauptmerkmale von Absolute Database und warum ist es wie SQLite?


Wie SQLite speichert die Absolute Database alle Tabellen in einer einzigen Datei. Diese Datei kann sich entweder auf Ihrer lokalen Festplatte oder auf einer Netzwerkfreigabe befinden. Standardmäßig enden Absolute-Datenbankdateien mit der Dateierweiterung „.abs“, obwohl sie in Wirklichkeit jeden beliebigen Namen haben könnten.

Die wichtigsten Funktionen der Absolute Database, die von Component Ace aufgelistet sind, sind wie folgt

Absolute Database vermeidet die DLL-Hölle

Für mich war der Vorteil das Fehlen jeglicher Form zusätzlicher Treiber oder Dateien, die mit der Anwendung bereitgestellt werden können, während die volle TDatasource Kompatibilität erhalten bleibt. Die Datenbankfunktionalität wird direkt in Ihre App kompiliert und für mich hat dies den zusätzlichen Vorteil, dass Ihre Programme immun gegen das sind, was wir früher „DLL-Hölle“ nannten, bei der gemeinsam genutzte Treiber-DLLs und SDKs auf dem Host-Computer entweder von aktualisiert wurden eine andere Anwendung, die dasselbe Datenbank-SDK und dieselben DLLs verwendet, oder durch ein Upgrade oder Patch für das Betriebssystem.

Mit dem „Alles in Ihrer exe“-Ansatz, der von Absolute Database verwendet wird, wird der geringe Overhead des einkompilierten Datenbankzugriffscodes leicht durch den Vorteil aufgewogen, was bedeutet, dass Ihre Anwendung kugelsichere Immunität gegen diese Art von Computerumweltkatastrophen hat, die immer noch andauern bis heute für Situationen wie Apps, die auf MySQL zugreifen; wo die Dinge unerklärlicherweise schief gehen, wenn Sie versuchen, sich mit dem MySQL-Server zu verbinden, und nach langem Haareziehen und Ausleihen von Kleidung stellt sich heraus, dass mehr als eine „libmysql.dll“ auf dem System vorhanden ist und Ihre 32-Bit-App außerdem versucht, eine zu laden 64bit Bibliothek oder umgekehrt.

Absolute Datenbank in der Delphi-IDE von RAD Studio

Probieren Sie es kostenlos aus

Die persönliche Nicht-Mehrbenutzer-Version von Absolute Database ist für den persönlichen Gebrauch kostenlos, Sie müssen sich also nicht auf mein Wort verlassen (obwohl Component Ace keine direkte Verbindung zu mir hat und keinen Einfluss auf diesen Artikel hatte – meine Ansichten sind) mein eigenes). Vergleichen Sie Absolute Database für sich selbst mit SQLite und sehen Sie, wie Sie zurechtkommen. Wenn Sie die Dinge noch weiter ausbauen möchten, müssen Sie wahrscheinlich für die kommerzielle Version bezahlen, die Dinge wie den Zugriff auf den vollständigen Quellcode und die Möglichkeit zur Ausführung mehrerer Benutzer hinzufügt, aber zu diesem Zeitpunkt fragen Sie sich vielleicht, wie ich, warum? Es ist die am besten gehütete geheime Datenbank im Internet.

Die mobile Version verlassen