Ich benutze jdbc zum ersten Mal und Lesen aus einer Datei, die SQL-Abfragen enthält, die ich zuvor schrieb. Obwohl die Abfragen ordnungsgemäß ausgeführt werden und mein Programm ohne offensichtliches Problem weitergeht, kann ich nach dem ich statement.executeBatch();
habe, nichts mehr in mein Protokoll schreiben.Logging-Problem bei der Verwendung von jdbc
-Ich verwende die java.util.logging
, um meine Protokollierung mit einem FileHandler
zu tun. Um meine ".sql" -Datei zu lesen, verwende ich eine BufferedReader
und eine FileReader
. Ich weiß, dass ich nicht viel Code teile, um den Kontext vollständig zu verstehen, aber das ist alles, was ich aus dem Gedächtnis habe. Ich schließe alle Leser nach dem Gebrauch.
Irgendwelche Ideen, was könnte das Problem sein?
MyLogger.log(Level.WARNING, "it does write");
statement.executeBatch();
MyLogger.log(Level.WARNING, "it doesn't write anymore");
statement.close();
MyLogger.log(Level.WARNING, "still doesn't");
Dank
edit: MyLogger ist eine Klasse mit einer statig log Methode
edit2: @ Tim Biegeleisen statement.executeBatch()
gibt einen Array von int, ein für jede Charge. Ich habe versucht:
try {
int[] results = statement.executeBatch();
for (int result : results)
{
if (result == Statement.EXECUTE_FAILED)
{
MyLogger.log(Level.SEVERE, "batch failed, but driver seems to still be alive.");
System.out.println("batch failed, but driver seems to still be alive.");
}
}
} catch (SQLException e) {
MyLogger.log(Level.SEVERE, "the batch failed, and the driver died too.");
System.out.println("the batch failed, and the driver died too.");
}
und es gedruckt und protokolliert nichts.
edit3: Ich denke, ich habe zu viel von meinem Shutdown Hook gefragt. Ich bin nicht vertraut damit, ich bin mir nicht sicher, was genau das Problem war.
Was ist MyLogger? Ist es eine (schlecht benannte) Instanz eines Loggers oder ist es eine Klasse, die eine statische Log-Methode enthält? Wenn es sich um eine Klasse handelt, müssen Sie den Code für diese Klasse mindestens veröffentlichen. – haggisandchips
... und Ihre Protokollierungskonfiguration. – haggisandchips
Ich gab Ihnen eine Antwort, die etwas spekulativ ist, aber es wird Sie zumindest einige mögliche Erklärungen ausschließen lassen. –