Ich kann nicht sicher über diese bestimmte Implementierung sagen, aber es gibt einen Verbindungspool, der normalerweise ein ORM unterstützt. Der Verbindungspool öffnet eine festgelegte Anzahl von Verbindungen zur Datenbank und führt sie beim Schließen und beim Öffnen neuer Verbindungen wieder zurück. Was dieser Fehler Ihnen sagt ist, dass es wahrscheinlich ein Limit erreicht hat. Das kann aus einer Vielzahl von Gründen passieren, zum einen gibt es möglicherweise einen Deadlock in der DB, weil Sie zwei Tabellen aktualisieren und zwei unterschiedliche Transaktionen unterschiedliche Tabellen warten, die auf die Freigabe des anderen warten. Oder einfach, dass es einfach zu viele offene Verbindungen gibt und der DB oder Verbindungspool nur verwirrt wird.
Entschuldigung, das ist nicht wirklich eine Antwort, aber Sie müssen sich die Dokumente für GreenDAO anschauen, um zu sehen, wie dies passieren könnte.
Bitte geben Sie weitere Informationen zu diesem Problem an. Z.B. Stack-Spuren, tritt es auf allen getesteten Geräten auf ?, Android-Versionen getestet, ... –
Ich habe das gleiche Problem. Es gibt keinen Stack-Trace, derselbe Fehler ist wiederholt aufgetreten und ich kann nicht mehr auf die Datenbank zugreifen. Ich frage mich, ob es irgendwo in GreenDao eine offene Transaktion gibt, aber keine Transaktion in einer finally-Klausel. – Hiep