SQLite "Bug"?

3 Antworten

Die Fehlermeldung weist eher daraufhin, dass du entweder mehr als eine offene Verbindung zur Datenbank hast oder aber tatsächlich noch ein Schreibvorgang zu Gange ist, der die Datei für diese Zeit gesperrt hat.

So wie man Datenbanken kennt "Sie sind manchmal empfindlich".

Sofern eine einheitliche Zeichenkodierung im Programm verwendet wird, sollte es keine Probleme geben. Das gilt bei jedem Serialisierungsprozess - ob nun in Verbindung mit einer Datenbank oder anderen Speichermedien.

ohne konrektes beispiel kann man nur sagen , wer mit zeichen spielt und nicht begreift wir man richtig encodet , der macht halt unsinn .

an SQLite liegt es nicht , eher vielleicht an deinem treiber den du dafür gewählt hast . den wenn der nicht für die wordgröße ausgelegt ist dann hast du halt gerade murks gemacht .

leider wissen wir auch nicht was du wie benutzt .

es liegt also nicht an sqlite , sondern an deinem mangelnden wissen wie man eigentlich arbeitet .

copy paste ohne etwas zu wissen ist halt nicht schlau . erst mal lernen , dann kann man anwenden und wenn sowas wie bei dir passiert, liegt das problem vor dem rechner und nicht in der software .

lern erstmal von grundauf wie du z.b. mit utf-XX umzugehen hast und wie du es schreiben musst und was der treiber da überhaupt wie verarbeitet .

programmierer wird man nciht an einem tag .

iNeedHelp961 
Fragesteller
 18.07.2022, 23:49

War kein Copy & Paste haha. Ich weiß ja, Encodings usw sind wichtig. Aber ich hab ja UTF-8 drinnen, dass ist ja die ka*ke die mich verwirrt.

File file = new File("plugins/ClanSystem");
file.mkdir();
Class.forName("org.sqlite.JDBC").newInstance();
SQLiteConfig conf = new SQLiteConfig();
conf.setEncoding(SQLiteConfig.Encoding.UTF8);
c = DriverManager.getConnection("jdbc:sqlite:plugins/ClanSystem/clans.db", conf.toProperties());

Also es ist UTF-8 ... Ich hab jetzt nicht so viel Ahnung von Datenbanken aber ich hatte oft mit JSONs etc zu tun. Deshalb weiß auch ich bisschen was von Encoding xD.

0

Der Fehlermeldung nach hast Du ein Concurrency-Problem.