¿Qué inspiró esta solicitud de lista de deseos?
Queremos almacenar mensajes de registro y depuración de nuestros complementos en una base de datos local que pueda usarse más adelante con fines de depuración y hemos visto que JMP tiene 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 (=SELECT) y la operación interna de SQLIte tiene una versión 3.8.11.1 de más de 8 años. Ninguna de ambas limitaciones está documentada en la documentación de JMP ni 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"), SQL personalizado("SELECT sqlite_version(), sqlite_source_id() FROM table1") ) << Ejecutar 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 genera un error: "referencia de objeto eliminado []"
obj = New SQL Query(
Connection("SQLite:Database=<PATH>\data.db"), SQL personalizado("INSERT INTO table1 (id, nombre, datos) VALUES (1, \!"test\!", sqlite_version());") ) << Ejecutar Foreground();</PATH>
¿Cuál es la mejora que le gustaría ver?
- Permitir que la implementación de SQLite ejecute instrucciones UPDATE e INSERT para almacenar los datos recopilados mientras se ejecuta un complemento JMP.
- Actualice el controlador SQLite interno para poder utilizar 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 almacenar pequeños datos para 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 usar archivos de texto sin formato, JSON o XML.
@martindemel