Nouvelles

Nouveau pilote FireDAC pour SQLite SEE

firedaclogo

Embarcadero a mis à disposition un nouveau pilote FireDAC pour la base de données SQLite Encryption Extension (SEE). Le téléchargement est dans GetIt et voici quelques détails derrière cette décision.


RAD Studio 11 Alexandria, comme les versions pr√©c√©dentes, est livr√© avec un pilote FireDAC pour la base de donn√©es SQLite offrant deux approches diff√©rentes pour la livraison.¬†Une option est la liaison statique, c’est-√†-dire la compilation de SQLite dans le binaire de votre application, en liant le code compil√©.¬†La deuxi√®me option est la liaison dynamique, c’est-√†-dire l’utilisation d’une DLL SQLite externe.¬†Les deux alternatives et leurs configurations pour diff√©rentes plates-formes sont d√©crites en d√©tail √† l’adresse¬†:

https://docwiki.embarcadero.com/RADStudio/Sydney/en/Connect_to_SQLite_database_(FireDAC)

fire-dac-logo-6968836

Cryptage FireDAC SQLite

La version de liaison statique du pilote FireDAC SQLite offre une prise en charge du chiffrement de la base de donn√©es, en utilisant un m√©canisme de hook de base de donn√©es (SQLITE_HAS_CODEC) qui a maintenant √©t√©¬†¬†supprim√©¬†¬†des derni√®res versions de SQLite par l’√©quipe de d√©veloppement de la base de donn√©es.¬†Pour cette raison, FireDAC prend toujours en charge le cryptage SQLite sur la derni√®re version de SQLite avec la ¬ę fonctionnalit√© ¬Ľ.¬†Si vous voulez la derni√®re version de SQLite et que vous n’avez pas besoin de cryptage, vous pouvez utiliser la version DLL.

√Ä l’avenir, le plan consiste √† d√©pr√©cier le chiffrement FireDAC SQLite ou au moins √† le fournir en tant qu’option h√©rit√©e, et √† passer √† la derni√®re version de SQLite √©galement pour la version compil√©e de mani√®re statique.¬†Notez √©galement que si vous passez du pilote FireDAC SQLite Encryption au pilote FireDAC SQLite Encryption Extension (SEE), vous vous retrouverez avec une impl√©mentation de cryptage diff√©rente¬†: pour cette raison, les fichiers de base de donn√©es SQLite ne seront pas compatibles.

Extension de chiffrement SQLite (SEE)

La voie √† suivre avec SQLite Encryption par Hwaci (la soci√©t√© derri√®re SQLite) est de recommander l’utilisation de SQLite Encryption Extension (SEE), une version payante de SQLite.¬†Vous pouvez en savoir plus sur cette base de donn√©es sur ces liens¬†:

√Čtant donn√© que certains clients ont demand√© √† prendre en charge SQLite EE, Embarcadero a cr√©√© un pilote FireDAC sp√©cifique.¬†Notez que le contrat de licence indique que vous devez utiliser les liens statiques (mais, comme je ne suis pas un avocat, reportez-vous √† la licence li√©e ci-dessus pour plus de d√©tails).¬†Aucun tiers comme Embarcadero n’est autoris√© √† distribuer la source de la biblioth√®que ou le code binaire compil√©.¬†Ainsi, ce qu’Embarcadero fournit aux d√©veloppeurs est le code source du nouveau pilote FireDAC, ainsi que des scripts bas√©s sur C++Builder pour compiler la biblioth√®que.¬†Vous devrez construire et lier les deux √©l√©ments (le code de la biblioth√®que et l’unit√© Delphi) ensemble sur votre syst√®me de d√©veloppement ‚ÄĒ et cela peut n√©cessiter de poss√©der le RAD Studio complet, car vous devez compiler √† la fois le code C++ et Delphi.

Considérez InterBase ToGo comme une alternative

Avant d’en venir au t√©l√©chargement et au c√īt√© pratique, notez que, en fonction de vos plates-formes cibles et d’autres exigences, vous pouvez envisager d’utiliser¬†¬†InterBase ToGo¬†¬†et sa prise en charge du cryptage de base de donn√©es comme alternative √† SQLite EE – le mod√®le de prix est un peu diff√©rent, ce qui rend il est difficile de comparer directement, mais je suis certain que l’√©quipe de vente d’Embarcadero peut vous aider √† comprendre.

Télécharger le pilote GetIt

Comme mentionn√©, le t√©l√©chargement est disponible dans un nouveau package GetIt sp√©cifique pour les clients disposant d’un abonnement de mise √† jour actif:

firedac_sqliteee_getit-3955246

Embarcadero rendra le t√©l√©chargement disponible √©galement sur le portail clients sous peu.¬†Ci-dessous, j’ai joint le read me de ce package GetIt avec des informations suppl√©mentaires.

Fichier Lisez-moi du pilote FireDAC SQLite SEE

Voici le texte complet du fichier readme dans le package :

Classes d’encapsulation d’API statiques FireDAC SQLite SEE, Copyright 2021 Embarcadero Technologies.¬†Tous les droits sont r√©serv√©s.
L’utilisation est soumise au CLUF de RAD Studio 11, voir https://www.embarcadero.com/products/rad-studio/rad-studio-eula

SQLite Encryption Extension (SEE) est un produit de Hipp, Wyrick & Company, Inc. (Hwaci) et il est soumis à
la licence disponible sur https://www.hwaci.com/sw/sqlite/license-see.html

=== Liaison statique
C’est une m√©thode recommand√©e pour utiliser SQLite SEE avec votre application.¬†Utilisez la nouvelle unit√© FireDAC.Phys.SQLiteWrapper.SEEStat.pas.
Il permet une liaison statique de sqlite3 SEE à une application. Cette unité est fournie aux clients uniquement sous forme de fichier PAS, car
pour produire DCU / etc, nous avons besoin de sqlite3.obj, qui est soumis à la restriction de licence SQLite SEE.

Utilisation :
* D√©finir FDPhysSQLiteDriverLink.Linkage=slSEEStatic.¬†Cela ajoutera automatiquement FireDAC.Phys.SQLiteWrapper.SEEStat √† la clause ¬ę uses ¬Ľ
* ‚Ķ ou inclura FireDAC.Phys.SQLiteWrapper.SEEStat au lieu de FireDAC.Phys.SQLiteWrapper.Stat dans la clause uses de l’application
* Make FireDAC.Phys.SQLiteWrapper.SEEStat. pas accessible au compilateur
* Compilez sqlite3 SEE et produisez sqlite3_x86.obj / sqlite3_x64.obj.¬†Voir la section ¬ę¬†Recompilation de SQLite SEE¬†¬Ľ ci-dessous
* Mettez sqlite3_x86.obj / sqlite3_x64.obj dans le dossier avec FireDAC.Phys.SQLiteWrapper.SEEStat.pas

=== Lien dynamique
Ceci est soumis à des restrictions de redistribution (voir licence Hwaci)

Utilisation:
* Set FDPhysSQLiteDriverLink.Linkage = slDynamic
* Set FDPhysSQLiteDriverLink.SEEKey = ‘xxx’, o√Ļ ‘xxx’ est de¬†voir la¬†cl√© d’activation
Vous pouvez lire plus de¬†d√©tails dans le¬†fichier de distribution SEE ¬ę de wwwreadme.wiki ¬Ľ, chapitre ¬ę 5.0 C Interface ¬Ľ
* Fournir sqlite3.dll VOIR la version et la rendre accessible √† l’application FireDAC

=== Ce qui fonctionne, ce qui ne
FireDAC cryptage SQLite (FSE), qui supporte des fonctions SQLite SEE ne supporte pas:
* quand mot de¬†passe incorrect est sp√©cifi√©, retourne FSE ¬ę mot de¬†passe incorrect ¬Ľ, retourne toujours voir ¬ę fichier n’est pas une base de¬†donn√©es ‚ÄĚ
* FSE peut renvoyer l’algorithme de cryptage actuel, SEE ne peut pas
* la liste des valeurs possibles pour le param√®tre de d√©finition de connexion FireDAC ¬ę Encrypt ¬Ľ a des valeurs prises en charge par FSE, pas celles de SEE

Notez que les bases de données existantes construites avec le cryptage FireDAC SQLite ne sont pas compatibles avec les bases de données SQLite SEE.
Lorsque vous construirez votre application, il sera bon d’obtenir d’abord les rapports d’environnement FireDAC, pour √™tre s√Ľr que ¬ę¬†le bon SQLite¬†¬Ľ est utilis√©.

=== Recompilation de SQLite VOIR
Utilisez le sqlite_compile.bat fourni pour produire sqlite3_x86.obj / sqlite3_x64.obj.¬†Avant d’ex√©cuter sqlite_compile.bat, mettez-le √† jour et d√©finissez ces variables sur vos valeurs r√©elles¬†:
* BDS ‚Äď dossier d’installation de RAD Studio
* SQLITE_SRC ‚Äď chemin d’acc√®s au fichier source sqlite


Coding Boot Camp

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

IN THE ARTICLES