Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Utilisez-vous l’alternative secrète à SQLite ?

pexels cottonbro 4709289

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.

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


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

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.

Absolute Database – Outil de gestion de base de données

 

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

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.

Base de données absolue dans l’IDE Delphi de RAD Studio

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.

Quitter la version mobile