Changement sur le driver SQLite de FireDAC à partir de la version 10.4 Sydney

Si vous avez l'habitude d'utiliser des bases de données SQLite dans vos projets vous avez dû voir plusieurs modifications dans les dernières versions de Delphi.

La première concerne les projets compilés sur macOS qui doivent embarquer la librairie qui l'était automatiquement jusque là. Il suffit pour cela d'aller dans le menu Projet / Déploiment et d'ajouter les fichiers du SQLite Engine avec l'option habituelle.

La seconde est apparue avec la version 10.4 Sydney de Delphi : la librairie n'est plus embarquée par défaut même sous Windows... Du coup une compilation de projet existant peut vous avoir surpris avec des erreurs réclamant la DLL SQLite.

Si vous désirez maintenir le fonctionnement classique vous devez placer le composant TFDPhysSQLiteDriverLink sur l'une de vos fiches ou plus logiquement sur le module de données dans lequel vous avez déclaré vos connexions à la base SQLite utilisée. Ce composant non visuel a une nouvelle propriété : EngineLinkage.

Cette propriété accepte trois valeurs :

  • slDefault est équivalent à slDynamic
  • slStatic reprend le fonctionnement historique, pas besoin de déployer la DLL.
  • slDynamic charge la DLL lors de la connexion à la base, elle doit donc être déployée par vos soins.

Faites des tests selon vos besoins et en fonction des environnements de vos utilisateurs.

Si vous déployez la DLL vous êtes responsable de sa mise à jour lorsque des failles sont découvertes dans SQLite (si ça arrive un jour) et maîtrisez ses évolutions. L'avantage c'est que vous pouvez utiliser la version qui vous convient, ce qui peut avoir un avantage si vous y accédez directement en passant par des API non prises en charge par les composants ou la librairie FireDAC.


Mug Chinese New Year 2023 : year of the rabbitMug Toucan DX dans la baie de Rio