Qu'est-ce qui a inspiré cette demande de liste de souhaits ?
Nous souhaitons stocker les messages de journalisation et de débogage de nos compléments dans une base de données locale qui pourra être utilisée ultérieurement à des fins de débogage et nous avons vu que JMP dispose d'un support SQLite interne, ce qui signifie qu'il n'est pas nécessaire d'installer un pilote ODBC.
Actuellement, dans JMP 16, 17 et 18 EA2, la prise en charge interne de SQLite concerne uniquement les opérations de lecture (=SELECT) et l'opération interne SQLIte a une version 3.8.11.1 de plus de 8 ans. Aucune des deux limitations n'est documentée dans la documentation JMP ou ne peut être trouvée ailleurs.
Par exemple, la commande suivante ouvre un fichier de base de données SQLite dans JMP :
obj = New SQL Query(
Connection("SQLite:Database=<PATH>\data.db"),
Custom SQL("SELECT sqlite_version(), sqlite_source_id() FROM table1")
) << Run Foreground();</PATH>
BTW cette commande renvoie la version de l'implémentation SQLite utilisée en interne de JMP 16/17/18EA2 :
| sqlite_version | sqlite_source_id |
| 3.8.11.1 | 2015-07-29 20:00:57 cf538e2783e468bbc25e7cb2a9ee64d3e0e80b2f |
Mais la prochaine commande INSERT ou UPDATE génère une erreur : "deleted object reference[]"
obj = New SQL Query(
Connection("SQLite:Database=<PATH>\data.db"),
Custom SQL("INSERT INTO table1 (id, name, data) VALUES (1, \!"test\!", sqlite_version());")
) << Run Foreground();</PATH>
Quelle est l'amélioration que vous aimeriez voir?
- Autoriser l'implémentation SQLite à exécuter les instructions UPDATE et INSERT pour stocker les données collectées lors de l'exécution d'un complément JMP.
- Mettez à jour le pilote SQLite interne afin qu'une version plus récente du pilote puisse être utilisée - la version actuelle est 3.42.0
Pourquoi cette idée est-elle importante ?
Cette idée permet de stocker de petites données à des fins de débogage ou de journalisation dans les fichiers de base de données SQLite - ce format est meilleur, plus flexible et plus utilisable que l'utilisation de fichiers texte, JSON ou XML.
@martindemel