¿Qué inspiró esta solicitud de lista de deseos?
Queremos almacenar los mensajes de registro y depuración de nuestros complementos en una base de datos local que se puede usar más tarde para fines de depuración y hemos visto que JMP tiene un soporte interno de SQLite, lo que significa que no es necesario instalar un controlador ODBC.
Actualmente, en JMP 16, 17 y 18 EA2, el soporte interno para SQLite es solo para operaciones de lectura (= SELECCIONAR) y la operación interna de SQLite tiene una versión 3.8.11.1 de más de 8 años. Ninguna de las dos limitaciones está documentada en la documentación de JMP o se puede encontrar en otro lugar.
Por ejemplo, el siguiente comando abre un archivo de base de datos SQLite en JMP:
obj = New SQL Query(
Connection("SQLite:Database=<PATH>\data.db"),
Custom SQL("SELECT sqlite_version(), sqlite_source_id() FROM table1")
) << Run Foreground();</PATH>
Por cierto, este comando devuelve la versión de la implementación SQLite utilizada internamente de JMP 16/17/18EA2:
| versión_sqlite | sqlite_source_id |
| 3.8.11.1 | 2015-07-29 20:00:57 cf538e2783e468bbc25e7cb2a9ee64d3e0e80b2f |
Pero el siguiente comando INSERTAR o ACTUALIZAR da como resultado un error: "referencia de objeto eliminado []"
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>
¿Cuál es la mejora que le gustaría ver?
- Permitir que la implementación de SQLite ejecute declaraciones UPDATE e INSERT para almacenar datos recopilados mientras se ejecuta un complemento JMP.
- Actualice el controlador SQLite interno para que se pueda usar una versión más reciente del controlador - la versión actual es 3.42.0
¿Por qué es importante esta idea?
Esta idea permite el almacenamiento de datos pequeños con fines de depuración o registro en los archivos de la base de datos SQLite; este formato es mejor, más flexible y más utilizable que el uso de archivos de texto sin formato, JSON o XML.
@martindemel