Je connais la meilleure façon de traumatiser un développeur de logiciels qui utilise Delphi depuis un certain temps. Tu leur montres juste cette image :
Le responsable administratif du BDE. Tant d’heures « heureuses » à essayer de résoudre les messages « PDOXUSERS.NET est en cours d’utilisation » et à tout savoir sur le but des paramètres obscurs comme SharedDir et NETDIR. Frémir. Si vous vouliez stocker une base de données accessible via le BDE sur un lecteur réseau, vous deviez faire tout un tas de choses pour vous assurer qu’elle ne serait pas corrompue. Malgré cela, les développeurs sont devenus des experts dans la réparation de la corruption de la base de données Paradox. Les choses étaient assez sombres, même si c’était sa défense, c’était une époque où presque tout ce que nous en sommes venus à tenir pour acquis aujourd’hui en était encore à ses balbutiements ; l’accès commuté était courant (et irrégulier) et presque tout le monde avait au moins un CD AOL comme sous-verre.
Table of Contents
Pourquoi les gens ont-ils utilisé le BDE s’il avait tant de problèmes ?
Eh bien, la réponse courte était : cela a fonctionné. En fait, une fois configuré, il fonctionnait plutôt bien et était extrêmement facile à utiliser. Il vous a permis de vous connecter à diverses bases de données comme DBase et Paradox de manière simple. Si simple que Paradox est devenu de facto une technologie de base de données non SQL avec DBase qui avait ses propres problèmes.
SQLite la boîte à outils universelle
Le long de cette arène pré-Windows s’est glissé SQLite. Il a été conçu dès sa création comme une simple base de données qui permettrait d’exécuter des commandes de type SQL sur un ensemble de tables contenues dans un seul fichier « plat ». Il avait – et a toujours – des limitations et des bizarreries comme les AUTOINC
colonnes qui ne sont pas les mêmes que les ROWID
colonnes, ou le fait qu’il n’a pas de natif DATETIME
ou de BOOLEAN
types.
Oh, et comme PostgreSQL, un nom qui me fait toujours trébucher quand je dois le dire à voix haute, le nom SQLite est ennuyeux. Lumière seégale; ne devrait-il pas être prononcé « seequal ite » ?
Malgré cela, il est devenu massivement populaire.
Quelle est l’alternative Delphi native secrète à SQLite ?
À la vue de tous se cache un système de base de données assez impressionnant qui remplace presque complètement SQLite pour les applications de bureau écrites en Delphi et C++ Builder. Cette base de données est Absolute Database de Technology Partner Component Ace.
Pourquoi Absolute Database n’est-il pas plus connu ?
Pour une raison quelconque, Absolute Database n’a pas captivé l’imagination des développeurs Delphi de la même manière que les autres systèmes. Je ne sais pas exactement pourquoi.
Dans mon « travail quotidien », nous utilisons Absolute Database pour un produit de bureau – qui peut également être multi-utilisateur et avec les données stockées sur un serveur réseau. Ce produit de bureau compte près de 10 000 installations individuelles. Comme toute base de données de fichiers plats, les gens font des choses folles comme subir des coupures de courant au milieu des données en cours d’écriture ou une malveillance malveillante appelée « mises à jour Windows » écrase le serveur et redémarre un peu moins gracieusement que la documentation de l’API Windows ne le suggère. Au démarrage de l’application, la base de données Absolute Database récupère silencieusement et répare automatiquement tout dommage, aucune intervention de l’utilisateur n’est requise.
C’est essayé et testé pour nous. Notre profil client type pour la version de bureau de nos produits est constitué de petites et moyennes entreprises et de l’omniprésent « maman and pop shop ». Nous avons également des produits client-serveur qui utilisent des SGBDR complets comme MySQL et PostgreSQL, mais la gamme de produits utilisant Absolute Database est conçue pour être facile à installer et à utiliser pour les utilisateurs « réguliers » sans avoir besoin d’administrateurs de base de données, de personnel technique ou, dans de nombreux cas, pas de réseau approprié ni de personnel informatique.
Ma liste des fonctionnalités clés d’Absolute Database
- Fichier unique pour chaque base de données. Notez que vos applications peuvent utiliser plusieurs bases de données simultanément si vous le souhaitez – nous le faisons avec une pour les données temporaires locales et/ou volatiles et une pour les données partagées et en réseau.
- La base de données Absolute se décline en deux « saveurs » : l’édition personnelle est destinée à un seul utilisateur accédant aux données ; la version multi-utilisateurs permet au développeur de cocher une case permettant un accès partagé multi-utilisateurs et multi-clients du même fichier de base de données avec tous les types de mécanismes de verrouillage que vous attendez.
- Il vise carrément à remplacer BDE et à remplacer SQLite sans avoir besoin de pilotes ni de liaison de bibliothèques statiques de DLL.
- Entièrement écrit en Delphi et tout le nécessaire pour accéder à la base de données est intégré directement dans votre code, il n’y a donc rien à déployer avec vos applications en dehors de la base de données.
- Contrairement à SQLite, il prend en charge TOUS les types de données que vous attendez, tels que
DATETIME
,BOOLEAN
etc. - Auto-réparateur. En cas de corruption détectée, le système Absolute Database se répare et se récupère automatiquement.
- Il est compatible avec
TDatabase
,TDataSource
et d’autres composants d’accès aux données. Pour cette raison, tout ce qui peut être lié à unTDatasource
fonctionnera, comme les composants de rapport, les grilles tierces, etc. - Très rentable sans redevance ni frais de déploiement et dispose du code source Delphi complet. Payez une fois et vous avez terminé.
- Fonctionne dans presque toutes les versions de Delphi que vous pourriez posséder à partir de Delphi 4 jusqu’à nos jours. Vous n’avez également besoin que de l’édition professionnelle et cela fonctionne également dans l’édition communautaire actuelle de Delphi.
Existe-t-il un équivalent de bureau de base de données pour Absolute Database ?
Non seulement il existe un équivalent du vénérable Database Desktop, mais Component Ace fournit également le code source complet pour celui-ci. Cette application est un excellent outil pour créer, interroger et maintenir des bases de données basées sur le format Absolute Database, mais est également un excellent outil de référence sur la façon d’accéder aux données et d’effectuer diverses fonctions non évidentes telles que la création ou la réparation de tables de base de données au moment de l’exécution.
Où obtenir la base de données absolue
Vous pouvez trouver Absolute Database sur le site officiel de Component Ace ici : https://www.componentace.com/bde_replacement_database_delphi_absolute_database.html
Quelles sont les principales fonctionnalités d’Absolute Database et pourquoi ressemble-t-elle à SQLite ?
Comme SQLite, Absolute Database stocke toutes les tables dans un seul fichier. Ce fichier peut résider sur votre disque dur local ou sur un partage réseau. Par défaut, les fichiers de base de données Absolute se terminent par une extension de fichier « .abs » bien qu’en réalité, ils puissent être appelés comme vous le souhaitez.
Les principales fonctionnalités de la base de données absolue répertoriées par Component Ace sont les suivantes
- Pas de BDE ; pas de DLL
- Base de données à fichier unique
- Prise en charge de SQL’92 (DDL et DML)
- Compatible avec les contrôles de base de données standard et tiers
- Mode mono-utilisateur et multi-utilisateur (serveur de fichiers)
- Fonctionne avec toutes les versions de Windows et ne nécessite aucune mise à jour ou service pack
- Tables en mémoire ultra-rapides
- Facilité d’utilisation inégalée
- Cryptage fort
- Compression BLOB
- Gratuit pour un usage personnel
- Code source complet disponible
- Distribution libre de droits
Absolute Database évite l’enfer des DLL
Pour moi, l’avantage était l’absence de toute forme de pilotes ou de fichiers supplémentaires à déployer avec l’application tout en conservant une TDatasource
compatibilité totale . La fonctionnalité de base de données est compilée directement dans votre application et, en ce qui me concerne, cela a l’avantage supplémentaire de rendre vos programmes à l’abri de ce que nous appelions « l’enfer des DLL » où les dll et les SDK de pilotes partagés sur l’ordinateur hôte ont été mis à jour soit par une autre application qui utilisait les mêmes SDK et DLL de base de données ou par une mise à niveau ou un correctif du système d’exploitation.
Avec l’approche « tout dans votre exe » utilisée par Absolute Database, la petite quantité de surcharge du code d’accès à la base de données compilée est facilement compensée par l’avantage qu’elle offre, ce qui signifie que votre application est immunisée contre les catastrophes environnementales informatiques qui persistent. à ce jour pour des situations telles que les applications qui accèdent à MySQL ; où les choses tournent inexplicablement mal lorsque vous essayez de vous connecter au serveur MySQL et après beaucoup d’arrachage et de location de vêtements, il s’avère qu’il y a plus d’un « libmysql.dll » sur le système et, en outre, votre application 32 bits essaie de charger un bibliothèque 64 bits ou vice versa.
Essayez-le gratuitement
La version personnelle et non multi-utilisateurs d’Absolute Database est gratuite pour un usage personnel, vous n’avez donc pas à me croire sur parole (bien que Component Ace n’ait aucun lien direct avec moi et n’ait eu aucune contribution sur cet article – mes opinions sont le mien). Essayez de comparer Absolute Database pour vous-même par rapport à SQLite et voyez comment vous vous en sortez. Si vous voulez aller plus loin, vous devrez probablement payer pour la version commerciale qui ajoute des choses comme l’accès au code source complet et la possibilité d’exécuter plusieurs utilisateurs, mais à ce moment-là, comme moi, vous vous demandez peut-être pourquoi c’est la base de données secrète la mieux gardée sur Internet.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition