Error de SQLite: no se puede confirmar la transacción: sentencias de SQL en curso utilizando Java Code

StackOverflow https://stackoverflow.com/questions/1049293

  •  20-08-2019
  •  | 
  •  

Pregunta

Me enfrento a un error de SQLite aunque no estoy usando ningún AutoCommit explícito verdadero o falso. ¿Alguien puede proporcionar información sobre este error? ¿Cuál es la situación en la que obtendrá este error?

Gracias de antemano. Saludos, Manasi Save

¿Fue útil?

Solución

Me enfrenté a un problema similar repetidamente (en mi caso, era una reversión que no era posible) cuando estaba dentro de un bucle que recorría las entradas de la tabla. Mientras el cursor procese las entradas, una instrucción SQL está & Quot; en progreso & Quot ;. No sé exactamente, si esto también prohíbe las confirmaciones, pero podría serlo.

Cuando intente procesar entradas de la tabla e insertar entradas en la misma tabla o en una diferente, es posible que desee intentar recopilar los datos en la memoria y, después del ciclo, inserte o actualice.

Información adicional: " Autocommitir " normalmente por defecto es " True " en SQLite (por supuesto, también podría depender de la capa de acceso que use; estoy usando Python y apsw, por lo que no puedo decirle más sobre esto en Java). Esto significa que cada inserción se confirma automáticamente inmediatamente.

== > Esta podría ser otra solución. En lugar de almacenar los datos en la memoria, podría intentar abrir explícitamente una transacción y confirmarla después del ciclo; de esta manera, el problema también debería desaparecer.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top