Scolring - Forum

Entraides et échanges autour de la technologie Scol - Informations and exchanges on the Scol technology

Vous pouvez changer la langue de l'interface une fois inscrit - You can change the language once registered

You are not logged in.

#1 12-Jul-2010 17:44:12

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Support base de données SQLite

Bonjour à tous,

SQLite est un moteur de base de données relationnelles s'appuyant sur le langage SQL pour les requêtes et sur un fichier pour le stockage des shema et des données (ce qui exclue l'installation et la configuration d'un serveur comme dans le cas de MySQL ou de PostgreSQL).

Ce système plus simple et plus souple ne convient cependant pas pour n'importe quelle utilisation. Certains usages peuvent être communs aux moteurs classiques, d'autres nouveaux. Bref, si vous ne connaissez pas SQLite, n'hésitez pas à abuser de votre moteur de recherche favori pour en savoir plus. Sachez cependant qu'il est très répandu et disponible pour les plateformes les plus courantes.

J'ai développé une nouvelle bibliothèque en C pour que Scol supporte SQLite. Il s'agit, pour l'heure, d'une version alpha que je vous invite à tester :

- Si vous êtes développeur Scol : à développer une (plusieurs) application(s) utilisant cette bibliothèque;
- Si vous êtes simple utilisateur : à tester (lancer) l'exemple basique présent dans l'archive.

Dans les deux cas, n'hésitez pas à donner vos retours d'expérience et/ou suggestions. En vous remerciant par avance.

Plus d'informations et téléchargement : http://code.irizone.net
SQLite : http://www.sqlite.org

Note : je publie cette bibliothèque sous licence ouverte Scol (et non pas LGPL comme les librairies actuellement développées pour Openspace3d)

Note 2 : le code source sera prochainement disponible sur le trac Scol.

Note 3 : cette bibliothèque fonctionne sous GNU / Linux et Wine.

Offline

#2 21-Jul-2010 18:06:37

arkeon
Admin. / Scol language & OpenSpace3D developer
From: Nantes
Registered: 30-Mar-2009
Posts: 5,162
Website

Re: Support base de données SQLite

yop !

je viens (enfin) de tester la dll

après lancement du fichier test_1.scol

c'est directement un crash hmm

voici le log :

> exec: main ":1200" "test_1.scol"

Opening Channel ...
CONNECT  (100007f):4b0
ChannelIP: :1200

_setress Origin
_setress complete
_setress DefaultLanguage
_setress complete
_setress localIPindex
_setress complete
_setress AutodetectProxy
_setress complete
_setress SocksVer
_setress complete
_setress Socks5Authentication
_setress complete
_setress videocapture
_setress complete
_setress License
 Scol Server allows for a maximum of 1000001 sockets.
 refine : C:\Users\bastien\AppData\Local/scol_ogre/Cache/Scol_30f544a83c0/
 new cache : C:\Users\bastien\AppData\Local/scol_ogre/Cache/Scol_30f544a83c0/
_setress complete
_setress DefaultName
_setress complete
_setress voyagerStatistics
_setress complete
_setress voyagerUpdate
_setress complete
_setress voyagerDevMode
_setress complete
_setress MachineName
_setress complete
WRITE 1028

> exec: _connected

WRITE_OK
(!) Illegal character '\23'
(!) Line #1:
??##

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #2:
??## Exemple d'utilisation de la libriairie 'libsqlite' pour Scol

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #3:
??## 

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #4:
??## Cet exemple a été réalisé avec la version 0.1a1

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #5:
??## Auteur : Stéphane Bisaro, aka Iri <iri@irizone.net>

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #6:
??## Juillet 2010

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #7:
??## Licence : aucune licence particulière, ce code source peut être modifié,

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #8:
??## distribué, étudié et exécuté librement, sans restriction.

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #9:
??## Notez cependant qu'il peut contenir des dysfonctionnements ou du code erroné.

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #10:
??## Il est fourni tel quel sans garantie d'aucune sorte. Prenez toute précuation

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #11:
??## d'usage.

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #12:
??## La librairie 'lisqlite' est, elle, placée sous licence Scol.

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #13:
??##

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #14:
??## Ce code source montre les principes de bases de l'utilisation de 'libsqlite'.

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #15:
??## Le but n'est pas une optimisation tant du code Scol que des requêtes SQL.

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #16:
??## Cet exemple crée s'il y a lieu un fichier base de données sur le disque dur

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #17:
??## pour y tester diverses commandes SQL via une interface graphique.

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #18:
??##

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #19:
??## Si vous avez des questions à propos de ce code, privilégiez les forums du 

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #20:
??## Scolring : http://www.scolring.org

(!) Function call was skipped since it could not be resolved
(!) Illegal character '\23'
(!) Line #21:
??##

(!) Function call was skipped since it could not be resolved

> exec: _load "tests/sqlite/test_1_main.pkg"

G:\work\scol_ogre/Partition_LocalUsr/ - tests/sqlite/test_1_main.pkg - G:\work\scol_ogre\Partition_LocalUsr\tests\sqlite\test_1_main.pkg

Loading G:\work\scol_ogre\Partition_LocalUsr\tests\sqlite\test_1_main.pkg ...
typechecking
fun main_sqlite : fun [] I
fun main : fun [] I
Generating bytecodes for 'main'...
254 bytes generated (for a total of 626 bytes)
Loading complete


> exec: main

G:\work\scol_ogre/Partition_LocalUsr/ - tests/sqlite/test_1.pkg - G:\work\scol_ogre\Partition_LocalUsr\tests\sqlite\test_1.pkg

Loading G:\work\scol_ogre\Partition_LocalUsr\tests\sqlite\test_1.pkg ...
typechecking
var PATH : S
var BASENAME : S
var tlog : ObjText
var db : ObjSqlite
fun dbClose : fun [] I
fun end : fun [] I
fun write : fun [s] I
fun dbOpen : fun [] I
fun dbCreate : fun [] I
fun dbExec : fun [s] I
fun dbReflex : fun [fun [ObjSqlite u0 S S] I u0] ObjSqlite
fun dbCreateTable : fun [] I
fun dbCBgetDatas : fun [u0 [u1 ObjList ObjList ObjList u2] S S] I
fun dbGetDatas : fun [[u0 ObjList ObjList ObjList u1]] I
fun dbAdd : fun [[[S S S] r1]] I
fun dbDel : fun [[S r1] S] I
fun dbRun : fun [s] I
fun guiRstLists : fun [[u0 ObjList ObjList ObjList u1]] I
fun guiAddData : fun [u0 [[u1 ObjList ObjList ObjList u2] [ObjWin ObjText ObjText ObjText]]] I
fun guiCreateAdd : fun [[ObjWin ObjList ObjList ObjList u0]] I
fun guiAdd : fun [u0 [ObjWin ObjList ObjList ObjList u1]] I
fun guiDel : fun [u0 [u1 ObjList ObjList ObjList u2]] I
fun guiRun : fun [u0 [ObjText [u1 ObjList ObjList ObjList u2]]] I
fun guiEdit : fun [u0 u1] I
fun guiSearch : fun [u0 u1] I
fun endwin : fun [u0 u1] I
fun guiCreate : fun [] [ObjWin ObjList ObjList ObjList ObjText]
Generating bytecodes for 'end'...
17 bytes generated (for a total of 643 bytes)
Generating bytecodes for 'write'...
15 bytes generated (for a total of 658 bytes)
Generating bytecodes for 'dbOpen'...
227 bytes generated (for a total of 885 bytes)
Generating bytecodes for 'dbClose'...
193 bytes generated (for a total of 1078 bytes)
Generating bytecodes for 'dbCreate'...
36 bytes generated (for a total of 1114 bytes)
Generating bytecodes for 'dbExec'...
6 bytes generated (for a total of 1120 bytes)
Generating bytecodes for 'dbReflex'...
6 bytes generated (for a total of 1126 bytes)
Generating bytecodes for 'dbCreateTable'...
214 bytes generated (for a total of 1340 bytes)
Generating bytecodes for 'dbCBgetDatas'...
116 bytes generated (for a total of 1456 bytes)
Generating bytecodes for 'dbGetDatas'...
112 bytes generated (for a total of 1568 bytes)
Generating bytecodes for 'dbAdd'...
253 bytes generated (for a total of 1821 bytes)
Generating bytecodes for 'dbDel'...
207 bytes generated (for a total of 2028 bytes)
Generating bytecodes for 'dbRun'...
143 bytes generated (for a total of 2171 bytes)
Generating bytecodes for 'guiRstLists'...
28 bytes generated (for a total of 2199 bytes)
Generating bytecodes for 'guiAddData'...
68 bytes generated (for a total of 2267 bytes)
Generating bytecodes for 'guiCreateAdd'...
405 bytes generated (for a total of 2672 bytes)
Generating bytecodes for 'guiAdd'...
6 bytes generated (for a total of 2678 bytes)
Generating bytecodes for 'guiDel'...
99 bytes generated (for a total of 2777 bytes)
Generating bytecodes for 'guiRun'...
26 bytes generated (for a total of 2803 bytes)
Generating bytecodes for 'guiEdit'...
2 bytes generated (for a total of 2805 bytes)
Generating bytecodes for 'guiSearch'...
2 bytes generated (for a total of 2807 bytes)
Generating bytecodes for 'endwin'...
3 bytes generated (for a total of 2810 bytes)
Generating bytecodes for 'guiCreate'...
982 bytes generated (for a total of 3792 bytes)
Generating bytecodes for 'main_sqlite'...
16 bytes generated (for a total of 3808 bytes)
Loading complete

G:\work\scol_ogre/Partition_LocalUsr/ - tests/sqlite/test_1.database - G:\work\scol_ogre\Partition_LocalUsr\tests\sqlite\test_1.database
G:\work\scol_ogre/Partition_LocalUsr/ - tests/sqlite/test_1.database - G:\work\scol_ogre\Partition_LocalUsr\tests\sqlite\test_1.database
_sqliteOpenFileEx : entering ...
sqliteOpen : entering ...
_sqliteOpenFileEx :  database " G:\work\scol_ogre\Partition_LocalUsr\tests\sqlite\test_1.database " opened ...
Connexion à la base de donnees reussie !
_add_text : Object is NIL
_sqliteExec : entering ...
_sqliteExec : error sql execution "CREATE TABLE listing (name char(64), nickname char(64), email char (64));" : 1
La creation de la table a echouee ! Code retournee : 1
_add_text : Object is NIL
NewWindow: 1248240
'ENABLE winn 1902138 etat 0

'ENABLE winn 2688372 etat 0

_sqliteCallbackExec : entering ...
_sqliteExec : entering ...
objsqlitecallback : entering ...

Offline

#3 21-Jul-2010 19:04:04

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Re: Support base de données SQLite

Vu ..

T'es sous quoi déjà ? Vista ou Seven ?

Offline

#4 21-Jul-2010 22:44:44

arkeon
Admin. / Scol language & OpenSpace3D developer
From: Nantes
Registered: 30-Mar-2009
Posts: 5,162
Website

Re: Support base de données SQLite

Seven 32bits ici

Offline

#5 31-Jul-2010 01:20:31

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Re: Support base de données SQLite

Personne d'autres ?

Tester une appli, c'est toujours chiant, je le reconnais volontiers. C'est pourtant une condition sine qua non pour pouvoir l'utiliser sereinement plus tard ... big_smile

Les testeurs, ce sont des perles, comme toutes les perles, elles sont rares !! Cependant, on peut toujours espérer ...

Vous utilisez des applications écrites en Scol (OpenSpace3d ou autres). Je ne voudrais pas paraître agressif, ce n'est pas mon propos, mais le Libre / opensource, c'est aussi un petit retour des utilisateurs vers les développeurs. Cela n'a rien d'obligatoire mais l'opensource est basé sur le partage et l'échange : on vous donne (et vous utilisez), n'oubliez pas de donner aussi ! ;-)

Rien d'impératif et les débats sans fins sur le (faible) nombre de retours dans les projets opensource sont aussi vieux que ... l'opensource ! Ce n'est pas forcément une raison : tester l'appli ci-dessus et poster le retour (fonctione / fonctionne pas sur tel système avec tel message d'erreur le cas échéant), ça prend en tout 5 mn ... :-)

Et c'est gratifiant pour celui qui développe (surtout quand c'est du pur bénévolat) !

Offline

#6 31-Jul-2010 13:13:23

arkeon
Admin. / Scol language & OpenSpace3D developer
From: Nantes
Registered: 30-Mar-2009
Posts: 5,162
Website

Re: Support base de données SQLite

c'est les vacances ... ils ont tous déserté smile

Offline

#7 2-Aug-2010 18:29:40

Nodrev
Scol Language & OS3D developer
From: Nantes, France
Registered: 29-Dec-2009
Posts: 197

Re: Support base de données SQLite

Un ptit coup de main pour retaper le bureau et je te la teste ta dll wink

Offline

#8 3-Aug-2010 13:14:45

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Re: Support base de données SQLite

Ben ouais justement, ça fait 10 ans que je donne des coups de main à tous les utilisateurs Scol. Arkeon et Bob sont dans la même situation. Les rares fois où nous demandons explicitement un retour, c'est un joli silence que nous recevons. hmm

Ouais, Scol et la plupart des applications codées avec sont gratuits, c'est tout ce qui intéresse
Si on s'asseyait sur toutes les demandes / suggestions de fonctionnalités supplémentaires faites par les utilisateurs, ça donnerait quoi ?
Ceci dit, je reconnais que la plupart des utilisateurs ignorent ce qu'est le Libre

Scol n'est pas un freeware, Scol est un projet opensource ! (Repeat after me !) ;-)

Une dernière chose, le support SQLite m'a été demandé plusieurs fois ...! Je ne me suis pas levé un matin en me disant "tiens, je vais développer ça". big_smile La version Linux et l'intégration GTK me donne déjà assez à faire ce qui est d'autant plus saoulant.

[Edit : j'en ai profité pour ajouter une rubrique "Request" au forum]

Offline

#9 29-Aug-2010 17:40:22

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Re: Support base de données SQLite

Nouvelle version : alpha 2 avec son lot de corrections.
À tester comme décrit au premier post, en vous remerciant par avance

Offline

#10 29-Aug-2010 18:41:03

arkeon
Admin. / Scol language & OpenSpace3D developer
From: Nantes
Registered: 30-Mar-2009
Posts: 5,162
Website

Re: Support base de données SQLite

testé avec l'application test, marche nikel
plus de crash sous windows seven.

mets le sur subversion je ferais un plugIT openspace quand j'aurais le temps :]

Offline

#11 30-Aug-2010 20:55:35

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Re: Support base de données SQLite

J'ai committé les sources sur http://trac.scolring.org/
J'en ai aussi profité pour y ajouter celles (en cours) de l'intégration GTK+ pour la 2D :8

Pour le plugIT openspace, si ce n'est pas urgent, je le coderai !

N'oubliez pas de tester la librairie SQLite3 ... (cf plus haut) ;-)

Offline

#12 31-Aug-2010 08:08:32

mehdithe
Member
Registered: 17-Apr-2009
Posts: 4

Re: Support base de données SQLite

Marche parfaitement chez moi aussi. Même config que arkeon.

Super boulot!

@+

Offline

#13 1-Sep-2010 11:18:37

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Re: Support base de données SQLite

Je précise que cette librairie ajoute le support de SQLite au langage Scol, c'est-à-dire que des applications écrites en langage Scol peuvent désormais communiquer avec des bases de données SQLite.

Cette librairie n'est donc pas exclusive à OpenSpace3d, n'importe quelle application peut l'utiliser

Offline

#14 7-Sep-2010 13:16:59

Patix
Member
Registered: 20-Apr-2009
Posts: 39

Re: Support base de données SQLite

Bonjour,

Je reviens un peu sur scol smile

Je veux remettre en place un site scol que j'ai fait il y a bien longtemps et il utilisait une base mysql pour les log.
Est ce que passer à une base sqlite peut se faire simplement ?

J'ai vu que scol évoluait aussi vers ogre. Est que le scol serveur linux d'antan fonctionne toujours avec les nouvelles versions de scol voyager direction ogre ?.

Offline

#15 7-Sep-2010 14:26:36

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Re: Support base de données SQLite

Bonjour Patix !

Patix wrote:

Je veux remettre en place un site scol que j'ai fait il y a bien longtemps et il utilisait une base mysql pour les log.
Est ce que passer à une base sqlite peut se faire simplement ?

SQLite fonctionne sur les mêmes structures que MySQL, à savoir les structures SQL. Il ne devrait pas avoir de problèmes particuliers à ce niveau.
Shématiquement :
1- Sauvegarder / exporter ta base MySQL, typiquement en un fichier *.sql
2- Créer une base SQLite : en fait, il n'y a pas plus simple, juste créer un fichier à l'emplacement désiré de ton arborescence Scol
3- Exécuter l'export de ta base MySQL (faite en 1) via la fonction Scol _sqliteExec (il y a un exemple de code dans l'archive que je fournis avec la bibilothèque).
4- Modifier ton programme pour utiliser l'API SQLite de Scol et non l'API sql de Scol.

Si tu n'es pas codeur (je ne sais plus, désolé ! ;-)), il s'agit alors probablement d'un site SCS. Dans ce cas, je n'ai pas codé de module SQLite pour le SCS. Je peux le faire si tu en as besoin.

Bref, il n'y a rien de bien sorcier pour passer de MyQL et SQLite.
Cependant, le point le plus important n'est pas technique mais de savoir ce qu'on veut faire avec. Si c'est juste pour lire / écrire des logs, SQLite peut convenir.

Patix wrote:

J'ai vu que scol évoluait aussi vers ogre. Est que le scol serveur linux d'antan fonctionne toujours avec les nouvelles versions de scol voyager direction ogre ?

A priori, il n'y a pas de raison évidente de vouloir exécuter des commandes du SO3Engine (le moteur 3d) sur le serveur. La 3D devrait être uniquement traité par le client. Donc en ce qui concerne le nouveau moteur 3d, il ne devrait pas y avoir de difficultés.
Arkeon a apporté quelques modifs au serveur4, sans doute pourra t-il préciser davantage ce point.

Offline

#16 7-Sep-2010 17:59:25

arkeon
Admin. / Scol language & OpenSpace3D developer
From: Nantes
Registered: 30-Mar-2009
Posts: 5,162
Website

Re: Support base de données SQLite

le Scol Voyager est toujours compatible avec les vieux Sites SCS smile
l'ancien moteur OpenGL est toujours présent dans le voyager.

Offline

#17 8-Sep-2010 09:20:28

Patix
Member
Registered: 20-Apr-2009
Posts: 39

Re: Support base de données SQLite

bonjour,

"Si tu n'es pas codeur (je ne sais plus, désolé ! wink), il s'agit alors probablement d'un site SCS. Dans ce cas, je n'ai pas codé de module SQLite pour le SCS. Je peux le faire si tu en as besoin."

je ne suis pas un codeur donc le module sqlite ds scs pourrait m'interesser. cela interessera d'autres personnes je pense.

Offline

#18 8-Sep-2010 10:49:15

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Re: Support base de données SQLite

Dès que j'ai "5" mn ...

Offline

#19 13-Sep-2010 16:46:36

Patix
Member
Registered: 20-Apr-2009
Posts: 39

Re: Support base de données SQLite

Bonjour,

Je vais attendre et me remettre doucement dans scol.

:8

Offline

#20 21-Sep-2010 20:25:25

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Re: Support base de données SQLite

Bonjour,

La bibliothèque de support Sqlite3 pour Scol a été mise à jour en version a3.

J'ai corrigé un crash lors de la tentative d'ouverture, via _sqliteOpenFile, avec un fichier non valide (référence en lecture null).

Téléchargement : toujours la même adresse.

Si vous aviez déjà installé la version a1 ou a2, remplacez simplement l'ancienne bibliothèque (*.dll) par la nouvelle et relancez Scol.

N'hésitez pas à poster tout retour d'expériences. Merci.

Offline

#21 24-Sep-2010 16:58:26

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Re: Support base de données SQLite

Bonjour,

La bibliothèque de support Sqlite3 pour Scol a été mise à jour en version a4.
J'ai corrigé quelques bogues liés, cette fois, à la destruction des objets ObjSqlite précédemment créés. Vous pouvez la téléchargez à la même adresse.

Si vous aviez déjà installé une version de cette bibliothèque, remplacez simplement l'ancienne bibliothèque (*.dll ou *.so) par la nouvelle et relancez Scol.

N'hésitez pas à poster tout retour d'expériences. Merci.

Offline

#22 15-Mar-2011 16:01:25

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,024
Website

Re: Support base de données SQLite

Bonjour,

J'ai passé la bibliothèque en version a5 :

  • Mise à jour de SQLite3 qui passe ainsi d'un support de version 3.6.23 à 3.7.5

  • La version GNU / Linux ne devrait plus être dépendante de la version de SQLite3 installée sur la machine

  • De nombreuses corrections de bogues potentiels et de codes ambigus

  • Code C standard (du moins celui effectivement utilisé)

  • Toutes les documentations ont été mises à jour (ou générées pour certaines)

À noter : les modifications ci-dessus n'impactent pas un code Scol utilisant cette API.

Téléchargements : http://trac.scolring.org/projects/sqllite3/files
Documentations : http://trac.scolring.org/projects/sqllite3/documents

N'hésitez pas à poster tout retour d'expériences. Merci.

Offline

#23 15-Mar-2011 20:07:39

arkeon
Admin. / Scol language & OpenSpace3D developer
From: Nantes
Registered: 30-Mar-2009
Posts: 5,162
Website

Re: Support base de données SQLite

Cool !
merci je test ça dès que j'ai 5 minutes smile

Offline

Board footer

Powered by FluxBB