El grupo de conexiones no ha podido conceder una conexión a subproceso

Estoy utilizando GreenDAO para el manejo de bases de datos en Android. Al realizar muchos cambios de la base de datos (> 15.000) consigo este mensaje del error:

El conjunto de conexiones de la base de datos '/ data / data / …' no ha podido conceder una conexión a la rosca 312 (Thread-312) con indicadores 0x1 durante 30.000002 segundos.

Todo se queda atascado. ¿Por qué ocurre este error?

No puedo decir con certeza acerca de esta implementación en particular, pero hay una conexión que respalda generalmente un ORM. El grupo de conexiones abre un número determinado de conexiones a la base de datos y las recicla al cerrarlas y abrir nuevas conexiones. Lo que ese error le está diciendo es que probablemente alcanzó un límite. Eso puede suceder por una gran variedad de razones, una es que posiblemente hay algún punto muerto en el DB porque está actualizando dos tablas y dos transacciones diferentes están sosteniendo diferentes tablas esperando a que el otro lo libere. O simplemente que hay demasiadas conexiones abiertas y el DB o la piscina de conexión se confunde.

Lo sentimos que no es realmente una respuesta, pero usted va a tener que mirar los documentos para GreenDAO para ver cómo esto podría suceder.

Recibí este mensaje cuando quiero seleccionar una consulta en una tabla que se utiliza en una transacción sin transacción terminada antes. Problema resuelto al ejecutar endTransaction() en finalmente bloque de transacción.

Recibí este mensaje al crear demasiadas conexiones a SQLite a través de DBFlow FlowQueryList. Mi solución fue asegurarse de que una vez que terminó con la lista de consultas para llamar a endTransactionAndNotify() y luego close() en el querylist.

Llamar endTransactionAndNotify() solo no hizo el truco. Espero que esto ayude, este hilo ciertamente me ayudó.

  • Android.database.sqlite.SQLiteCantOpenDatabaseException: error desconocido (código 14): No se pudo abrir el problema de la base de datos
  • Cambiar un valor en una columna en sqlite
  • Sqlite db update
  • Cómo encontrar el valor máximo de la columna en la base de datos sqlite
  • ¿Cómo descargar una base de datos SQLite desde un dispositivo Android?
  • SQLite Transformar columnas en cadena delimitada por comas
  • ¿Dónde se almacena la base de datos SQLite en el emulador de Android?
  • ActiveAndroid Excepción SQLite 'No such table'
  • Android: ¿necesito cerrar los objetos Cursor?
  • Ejemplo de búsqueda de texto completo en Android
  • Android - cuándo llamar a db.setTransactionSuccessful ()?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.