Support SQLite3 pour Scol
SQLite est un moteur de base de données relationnelles, supportant largement le langage SQL mais ne demandant pas de serveurs spécifiques (comme avec MySQL et PostGreSQL) : la base de données est un simple fichier indépendant du système d'exploitation utilisé. Il n'est donc pas nécessaire d'installer ou configurer quoi que ce soit.
La sécurisation se fait essentiellement par le système de fichier lui-même : le fichier où sont stockés shema et données devrait avoir des droits (lecture, écriture, aucun) permettant l'accès ou non à un utilisateur donné.
Les usages de SQLite ne sont pas forcément les mêmes que MySQL. De plus amples informations pourront être trouvées sur le site officiel de SQLite ou grâce aux moteurs de recherches sur le Web.
Bibliothèque SQLite pour Scol
J'ai publié cette bibliothèque sous licence Scol. C'est, pour l'heure, une version alpha qui ne devrait donc pas être utilisée en production.
Cette bibliothèque s'installe et s'initialise correctement sous MS Windows XP SP2 et, sous GNU / Linux, avec Wine 1.2. Elle est actuellement en phase de tests. Elle est intégralement écrite en C.
Installation
- Récupérer l'archive sur iriZone
- Décompresser l'archive obtenue.
- Copier le fichier libsqlite3.dll dans le sous-répertoire plugins de Scol
- Éditer le fichier usm.ini situé à la racine du dossier Scol (ou lancer Scol, cliquer droit dans l'icône, choisir Avancé puis Mode Expert).
Ajouter la ligne suivante :
plugin plugins/libsqlite3.dll SCOLloadSQLITE SCOLfreeSQLITE - Enregistrer (ou fermer) et relancer Scol. Le support de SQLite est désormais actif
Désinstallation
- Quitter Scol
- Éditer le fichier usm.ini situé à la racine du répertoire Scol (ou lancer Scol, cliquer droit dans l'icône, choisir Avancé puis Mode Expert).
Supprimer (ou commenter) la ligne :
plugin plugins/libsqlite3.dll SCOLloadSQLITE SCOLfreeSQLITE - Enregistrer (ou fermer). Supprimer le fichier libsqlite3.dll du sous-répertoire plugins de Scol
- Relancer Scol. Le support de SQLite pour Scol est perdu.
Exemples
Dans l'archive récupéré à l'installation, un dossier "doc" montrent un ou plusieurs exemples. Placer le répertoire tests dans la partition utilisateur (par défaut : Mes documents/scol voyager/Partition_LockedApp). Exécuter les fichiers *.scol présents dans tests/sqlite/.
Documentations
Dans ce même dossier "doc", un fichier doc.txt propose la doc que j'ai écrite.
Support
Pour toutes suggestions, remarques, retours d'expériences, merci d'utiliser de préférence les forums du Scolring. À défaut, un formulaire de contact est disponible.
API
Il s'agit ici d'un résumé succint des nouvelles fonctions disponibles (voir le fichier doc.txt évoqué plus haut pour plus de détails).
- ObjSqlite : nouveau type Scol pointant vers une connexion active vers une base SQLite.
- _sqliteOpenFile : se connecter de façon standard à une base SQLite de type 'fichier'. Typage : fun [Chn P] ObjSqlite
- _sqliteOpenFileEx : se connecter à une base SQLite de façon personnalisée. Typage : fun [Chn P I I I] ObjSqlite
- _sqliteOpenMemory : se connecter de façon standard à une base SQLite en mémoire (RAM) (base de données volatile). Typage : fun [Chn] ObjSqlite
- _sqliteOpenTemp : se connecter de façon standard à une base SQLite temporaire (fichier temporaire géré par l'OS hôte, base de données volatile).Typage : fun [Chn] ObjSqlite
- _sqliteClose : ferme une connexion à une base active. Typage : fun [ObjSqlite] I
- _sqliteCallbackExec : définit la callback appelée pour traiter les résultats d'une requête SQL. Typage : fun [ObjSqlite fun [ObjSqlite u0 S S] I u0] ObjSqlite
- _sqliteExec : exécute une (ou plusieurs) requête SQL. Typage : fun [ObjSqlite S I] I
- _sqliteVersion : retourne la version SQLite incluse dans la librairie. Typage : fun [] S
- _sqliteVersionScol : retourne la version de la librairie. Typage : fun [] S
- _sqliteThreadsafe : retourne le mode de 'threading' utilsable. Typage : fun [] I
- _sqliteSharedCacheEnabled : (dés)active le cache partagé entre connexions. Typage : fun [I] I
- _sqliteSetSizeLimit : applique des limites configurables à des objets SQLite. Typage : fun [ObjSqlite I I] I/li>
- _sqliteGetSizeLimit : retourne les limites actuellement prises en compte de ces objets SQLites. Typage : fun [ObjSqlite I] I
- _sqliteCallbackProgress : ne pas utiliser.
