Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   was soll mir diese Fehlermeldung sagen? (https://www.delphipraxis.net/196734-soll-mir-diese-fehlermeldung-sagen.html)

sko1 14. Jun 2018 10:36

was soll mir diese Fehlermeldung sagen?
 
In einer Android-Anwendung, welche eigentlich nur eine Datenbank verwendet und dazu noch die Kalenderdatenbank des Handys,
bekomme ich folgenden Laufzeitfehler:

Error Code : 2062 (SQLITE_CANTOPEN_EMFILE)
Caused By : Application has opened two many files. Maximum of available file descriptors in one process is 1024 in default.
(unable to open database file (code 2062))

Wie kann man hier zur Fehlersuche vorgehen?

Ciao
Stefan

KodeZwerg 14. Jun 2018 10:58

AW: was soll mir diese Fehlermeldung sagen?
 
Schließt Du die Datenbank nach beenden? Geh mal Deinen Code durch und prüfe ob jedes Create auch ein Delete hat oder jedes Open auch ein Close, ich hoffe Du Verstehst was ich meine.

sko1 14. Jun 2018 12:35

AW: was soll mir diese Fehlermeldung sagen?
 
Bin schon am Basteln, um einen internen Zähler zu implementieren...

Ciao
Stefan

P.S.
Nichts gefunden, es wird eine global deklarierte TFDConnection erzeugt wenn sie noch nicht existiert und erst bei Programmende wieder zerstört.

Sherlock 14. Jun 2018 13:30

AW: was soll mir diese Fehlermeldung sagen?
 
Bist Du sicher, daß der Zugriff so erfolgen soll/darf/muss, wie Du es vornimmst? SQLite ist immerhin eine dateibasierte, recht simple DB. Gleichzeitige bzw. Kokurrierende Zugriffe verträgt die nicht immer gut. Aber eventuell gibt es ja vom Kalenderhersteller eine API?

Sherlock

KodeZwerg 14. Jun 2018 18:17

AW: was soll mir diese Fehlermeldung sagen?
 
Was ich in Erfahrung bringen konnte, man darf/sollte pro App nur einmal einen SqlHelper(? Kann sein das der anders heißt ? ich bin na nicht der Pro) instanzieren sonst kann es auch zu diesem Fehler kommen. Viel sagen ohne Code zu sehen kann man nicht, nur raten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz