Was hat diese Wunschlistenanfrage inspiriert?
Wir möchten Protokoll- und Debug-Meldungen unserer Add-Ins in einer lokalen Datenbank speichern, die später für Debug-Zwecke verwendet werden kann, und wir haben gesehen, dass JMP über eine interne SQLite-Unterstützung verfügt, was bedeutet, dass kein ODBC-Treiber installiert werden muss.
Derzeit gilt in JMP 16, 17 und 18 EA2 die interne Unterstützung für SQLite nur für Leseoperationen (=SELECT), und die interne SQLIte-Operation hat eine über 8 Jahre alte Version 3.8.11.1. Keine der beiden Einschränkungen ist in der JMP-Dokumentation dokumentiert oder kann an anderer Stelle gefunden werden.
Beispielsweise öffnet der folgende Befehl eine SQLite-Datenbankdatei in JMP:
obj = New SQL Query(
Connection("SQLite:Database=<PATH>\data.db"), Custom SQL("SELECT sqlite_version(), sqlite_source_id() FROM table1") ) << Run Foreground();</PATH>
Übrigens gibt dieser Befehl die Version der intern verwendeten SQLite-Implementierung von JMP 16/17/18EA2 zurück:
| sqlite_version | sqlite_source_id |
| 3.8.11.1 | 29.07.2015 20:00:57 cf538e2783e468bbc25e7cb2a9ee64d3e0e80b2f |
Aber der nächste INSERT- oder UPDATE-Befehl führt zu einem Fehler: „Objektreferenz gelöscht[]“
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>
Welche Verbesserung würden Sie sich wünschen?
- Erlauben Sie der SQLite-Implementierung, UPDATE- und INSERT-Anweisungen auszuführen, um die während der Ausführung eines JMP-Add-Ins gesammelten Daten zu speichern.
– Aktualisieren Sie den internen SQLite-Treiber, sodass eine neuere Version des Treibers verwendet werden kann – aktuelle Version ist 3.42.0
Warum ist diese Idee wichtig?
Diese Idee ermöglicht die Speicherung kleiner Daten zu Debug- oder Protokollierungszwecken in den SQLite-Datenbankdateien – dieses Format ist besser, flexibler und benutzerfreundlicher als die Verwendung von Nur-Text-, JSON- oder XML-Dateien.
@martindemel