Problemas con la ejecución de SQL: JMP se bloquea, necesita ayuda para solucionar problemasEstoy reescribiendo una aplicación antigua para incluir más funciones. Parte de la aplicación es extraer algunos datos de una base de datos. Estoy copiando ese código exactamente como estaba en la aplicación anterior.
Cuando estoy intentando ejecutar ese código en la nueva aplicación, JMP se bloquea violentamente. Me estaba dando algunas ventanas de error, ahora solo deja de funcionar. Sin embargo, produce informes de errores en "... AppData \ Local \ Temp \ JMPCrashReports \ 13".
Entonces, si aíslo el código en una nueva ventana de script como esta:
dbc = Create Database Connection("DSN=qwerty;DATABASE=qwerty;SERVER=xxx.xx.xx.xx;PORT=5432;");
query = "SELECT t1......
FROM xxxxxxxx
WHERE ( ( ( xxxxxxx IN ( 'xxxxxx' ) ) AND ( (time>= '05/07/2018 12:00:01 AM') ) AND ( (time<= '05/07/2018 3:31:13 PM') ) ) ) ;";
DataTable = Execute SQL( dbc, query, "invisible", "Data"); Funciona bien
Si comento Ejecutar línea SQL en la aplicación, funciona bien (bueno, excepto por el hecho de que no extrae nada):
//DataTable = Execute SQL( dbc, query, "invisible", "Data");
Pero si descomento esta línea, JMP se bloquea y se apaga inmediatamente después de la ejecución.
Parece que hay algo más que existe cuando se está ejecutando una nueva aplicación y que no existe cuando se ejecuta una secuencia de comandos separada o la aplicación anterior evita que Ejecutar SQL se ejecute correctamente.
Pregunta: ¿Alguna idea sobre cómo solucionarlo más? Miré el informe del accidente, no explica mucho. ¿A cualquier lugar donde pudiera enviar esos informes?
Gracias,
METRO.
Re: Problemas con Ejecutar SQL: JMP se bloquea, necesita ayuda para solucionar problemasOk, parece que Execute SQL no está funcionando con una suscripción activa a la lista de tablas de datos.
Una de las adiciones a la nueva versión de la aplicación es este oyente:
aSub = Subscribe to Data Table List( , OnOpen( fnew ) );
Subscribe to Data Table List( aSub, OnRename( fnnme ) );
Subscribe to Data Table List( aSub, OnClose( fclose ) );
Entonces, si lo cierro justo antes de la ejecución del SQL, funciona bien:
Unsubscribe to Data Table List(aSub, All);
DataTable = Execute SQL( dbc, query, "invisible", "dataTable");
Supongo que, si me suscribo de nuevo tan pronto como tire de la mesa, ¿esto no romperá ninguna de las funcionalidades?
Además, ¿parece ser un error, o estoy usando la suscripción no de la manera correcta?
Gracias,
METRO.
Re: Problemas con Ejecutar SQL: JMP se bloquea, necesita ayuda para solucionar problemasSiento que te encuentres con dificultades aquí.
Si por favor contact Soporte técnico , support@jmp.com , con los informes de fallos y tantos detalles como sea posible acerca de cuándo se produce el bloqueo. Pueden ayudar a identificar la causa y, posiblemente, proporcionar algunas soluciones si el bloqueo no se ha abordado en una versión más reciente.