SQL Update "Rückgabe der DB als String?"

henpara

Bekanntes Mitglied
Hallo,
ich habe auf der Arbeit ein Programm übernommen, welches Daten aus einer DB ausliest, verarbeitet und ggf anschließend gewisse updates oder inserts automatisch erstellt.
Soweit so gut, wurde bisher "nur" das benötigte SQL-statement (ca 20000-300000 Zeilen lang)
als textfile rausgeschrieben, so daß man es je parameter immer noch von "hand" bzw. über ne batch datei eingeben musste.

ich hab es jetzt so umgeschrieben, daß die txt-files (die weiterhin bestehen bleiben sollen)
wieder eingelesen werden und dann zeilenweise die sql-statements durchgeführt werden.

was ich nun gerne noch hätte ist, daß man wie bei der batch datei ne log-datei dazu geschrieben bekommt, wo eben die datenkbank rückgabe für jedes statement drinne steht.

hier ein paar beispiele:

sql-statement 1
DB20000I Der Befehl SQL wurde erfolgreich ausgeführt.

sql-statement 2
DB21034E Der Befehl wurde als SQL-Anweisung verarbeitet, da es sich um keinen
gültigen Befehl des Befehlszeilenprozessors handelte. Während der
SQL-Verarbeitung wurde Folgendes ausgegeben:
SQL1024N Es besteht keine Verbindung zur Datenbank. SQLSTATE=08003

wie ihr seht, sind auch noch fehler da, und genau darum gehts, daß man im log erkennen kann, ob die sql-statements ordnungsgemäß ausgeführt wurden.

nun hat man in java ja das statement als objekt, aber ich brauch natürlich ne message in abhängigkeit vom query, das man ihm mitgibt.

ausgeführt wird das statement im moment mit:
Java:
stat.execute(upd);
wobei upd der sql-string ist und stat das statement.

in meinem filewriter schreib ich zZ ins log nur das query, was ich aber ja schon in der sql-output textdatei habe.

über hilfe würd ich mich freuen, ansonsten such ich weiter und probiers weiter aus.

mfG
henpara
 

nrg

Top Contributor
würde log4j mit einen fileappender nehmen. da kannst du auch exceptions mit stacktrace loggen.

optional kannste den stacktrace auch selber über einen stringbuilder zusammenbauen und mit normalen writer loggen (würde ich aber nicht empfehlen)
 

Michael...

Top Contributor
Bei Statements mit 20000 bis 300000 Zeilen scheint mir da ein Fehler im Konzept vorzuliegen.

Aber zum Thema loggen:
- Verwende executeUpdate anstelle von excute. Die Methode liefert Dir die Anzahl der eingefügten bzw. aktualisierten Datensätze zurück - die man loggen könnte
- Im Fehlerfall wird ja im eine Exception geworfen: Im catch-Abstimmt könnte man die Message der Exception loggen.

Das Loggen kann man ja wie bisher mittels FileWriter o.ä. machen oder mittels sonstiger verfügbarer Bibliotheken wie z.B. bereits erwähnt log4j umsetzen.
 
S

SlaterB

Gast
ein SQL-Statement ist normalerweise 1-3 Zeilen lang, in komplizierten Fällen 5-20,
bei bis zu 50 Zeilen muss man schon überlegen was ja jemand für einen unverständlichen Kram zusammengeschrieben hat,
über 100 ist rekord-kuriositätenwürdig,

und du kommst jetzt jetzt wirklich mit 20.000 Zeilen und verstehst nichtmal die Beschwerde?!
 

henpara

Bekanntes Mitglied
ich hab mich wohl etwas unglücklich ausgedrückt:
also es geht viel mehr um 20000 statements a eine zeile.
die gebe ich zZ auch zeilenweise in die db ein.
zZ lass ich mir einfach eine 1 ausgeben, wenn das update erfolgreich ausgeführt wurde, und null sonst.
das ist schon ganz ok. hab jetzt aber ein anderes problem:
es werden zB 5000 updates gemacht (ich zähle mit)
aber nur ca 1800 ins output file geschrieben... ich versteh nicht warum.

jemand ne idee?

(btw. 1-2zeilen sqlabfragen sind aber wirklich bloß einsteiger-abfragen. hab hier eig. täglich mit abfragen zu tun, die schon mal gerne 20-100 zeilen lang sind.)
 

Michael...

Top Contributor
Auch 20000 Statements scheinen etwas viel. Wie wartet man sowas?
Geht's dabei um den Import von Daten? Dafür bieten viele Datenbanken eigene und bessere Lösungen.

Statements mit zwanzig Zeilen können ja mal vorkommen, aber bei 100 Zeilen würde ich mir schon Gedanken machen, ob da mit dem Datenmodel oder der Vorgehensweise nicht doch etwas faul ist.
Sowas ist mir bisher noch nicht untergekommen (außer man schreibt jedes Wort in eine Zeile ;-)).
Wenn Du allerdings von Prozeduren redest, die können schon mal ein bisschen länger ausfallen.
 

henpara

Bekanntes Mitglied
es ist eben eine sehr große datenbank. und die daten werden in dem programm auf konsistenz überprüft.
überall wo die konsistenz gefärdet sein kann/ ist, wird ein update auf die datenbak gehauen, da kann es doch bei x millionen einträgen eben mal zu 20000 updates kommen.

daher die großen zahlen. da führt auch kein weg dran vorbei,

die 20000 statements können aus updates und inserts bestehen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Java 8 Security Update Allgemeine Java-Themen 3
krgewb Darstellung bei Java-Update Allgemeine Java-Themen 8
VfL_Freak Große und seltsame Probleme nach Java-Update auf V1.8.0_91 Allgemeine Java-Themen 3
B Umgebungsvariable Anpassen der Umgebungsvariablen nach Java-Update ? Allgemeine Java-Themen 14
S Java-Webstart und Update-Checks Allgemeine Java-Themen 0
A Update Software programmieren Allgemeine Java-Themen 1
T Nach Java Update: Jar Datein öffnen sich nicht mehr mit doppelklick Allgemeine Java-Themen 3
G JavaFX Problem nach Update auf Java 8 Allgemeine Java-Themen 0
E Java 7 update 51 Allgemeine Java-Themen 9
H SHA256 update-Funktion Allgemeine Java-Themen 3
F.S.WhiTeY JDK installieren Linux: Nach Update link auf Java zerschossen Allgemeine Java-Themen 4
eskimo328 Swing Client Anwendung für MAC OS (Update Routine) Allgemeine Java-Themen 6
L Launche update Allgemeine Java-Themen 19
D Update von TimerTask Allgemeine Java-Themen 13
X Update einer Jar während der Laufzeit Allgemeine Java-Themen 8
J Eigenes Produkt Upgrade / Update-fähig halten? Allgemeine Java-Themen 16
S iText PDF - Verständnisproblem beim Update von TableCells (Seitenzahlen) Allgemeine Java-Themen 2
D Updaten von Klassen durch jar.exe zerstört diese. Update durch WinRAR gelingt! Allgemeine Java-Themen 2
T Update eines Programms - Beenden eines anderen Prozesses überwachen Allgemeine Java-Themen 8
D Java Update automatisieren Allgemeine Java-Themen 4
X HTTP Problem mit static/non static JTextArea Update Allgemeine Java-Themen 17
S eigene Update Funktion Allgemeine Java-Themen 5
martin82 Java Runtime Update >17 - SwingWorker Änderungen? Allgemeine Java-Themen 7
M jdesktop binding: jTable update nach Änderung... Allgemeine Java-Themen 3
B Regex-Fehler nach lib-Update Allgemeine Java-Themen 2
H Probleme! Mac Os und Java Update Allgemeine Java-Themen 3
R JAR-Update in laufender Applikation Allgemeine Java-Themen 9
A Hilfe mit 2-dimensionalem array ***UPDATE*** Allgemeine Java-Themen 27
Kr0e JCE doFinal/update Allgemeine Java-Themen 2
MQue update/paint Allgemeine Java-Themen 7
L Java6 update N bekommt neues Browser-Plugin, bitte testen. Allgemeine Java-Themen 7
O App Update Allgemeine Java-Themen 3
T NullPointerException nach Java Update Allgemeine Java-Themen 4
V Update des JAR-Archivs Allgemeine Java-Themen 5
M Update auf netbeans 6Beta 1 Allgemeine Java-Themen 2
U Programm soll sich nach update neustarten Allgemeine Java-Themen 30
M Tool zum autom. Client-Update Allgemeine Java-Themen 2
C Java SE Runtime 6 Update 1 - IE 7 und FF 2.0 - Allgemeine Java-Themen 6
M Frage zu update Methode von Observer! Allgemeine Java-Themen 40
K Regex Versucher 2 *Update - sinnvoll und schön* :) Allgemeine Java-Themen 6
T update() wird bei Programmstart und resize nicht gemacht Allgemeine Java-Themen 4
R Browser-Problem nach Java-Update Allgemeine Java-Themen 9
B statusbar update -> mit thread oder listener? Allgemeine Java-Themen 7
D wie update-erinnerung der jre deaktivieren? Allgemeine Java-Themen 6
D repaint oder update Methode? Allgemeine Java-Themen 6
S Rückgabe einer HttpURLConnection für eine Seite einlesen bei der man eingeloggt ist..? Allgemeine Java-Themen 5
R Rückgabe eines Arrays durch Funktion Allgemeine Java-Themen 9
D Problem mit der Rückgabe von Raw-Types Allgemeine Java-Themen 2
S Java Problem bei der Rückgabe eines Arrays Allgemeine Java-Themen 19
S Polymorphie generischer Rückgabe-Typ Allgemeine Java-Themen 4
R Methoden Rückgabe Arrays aufangen Allgemeine Java-Themen 29
M Einmalige Rückgabe eines Wertes? Allgemeine Java-Themen 8
Redfrettchen Rückgabe nicht sinnvoll: Exception oder null zurück? Allgemeine Java-Themen 9
S Rückgabe Allgemeine Java-Themen 6
R Rückgabe 2 Werte Allgemeine Java-Themen 5
I Rückgabe eines Arrays aus einer Methode, wie sicher? Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
JAnruVA Datentypen Berechneten String-Wert in Double umwandeln um weiter zu rechnen Allgemeine Java-Themen 7
M String Allgemeine Java-Themen 10
M Suche nach String mit unbekannten characters Allgemeine Java-Themen 53
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
O String in Long Hexerdezimal umwandel Allgemeine Java-Themen 14
N String vergleichen. Allgemeine Java-Themen 27
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
SaschaMeyer Arbeitet String.split falsch? Allgemeine Java-Themen 4
M Switches ohne String Allgemeine Java-Themen 18
AmsananKING String Iteration Allgemeine Java-Themen 5
S Shuffle String aus if-clause Allgemeine Java-Themen 11
Besset Variablen Ist String = "" + int inordnung? Allgemeine Java-Themen 6
M Map <Long, String> zu Map<String, Long> Allgemeine Java-Themen 9
S String Encoding Verständnisproblem Allgemeine Java-Themen 22
N Prüfen, ob ein String 2x das selbe Zeichen hat Allgemeine Java-Themen 10
SaftigMelo Bug Fixen von String-spliten Allgemeine Java-Themen 8
Monokuma String List nach Zahlen und Worten sortieren Allgemeine Java-Themen 9
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
YohnsonM String - Aufteilung und Nutzung einzelner Chars Allgemeine Java-Themen 7
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
S String umbenennen: wie? Allgemeine Java-Themen 4
x46 String Format Fehler Allgemeine Java-Themen 2
S ISO 8601 -> getter / setter String Allgemeine Java-Themen 3
L String zu repräsentativen Wert Allgemeine Java-Themen 0
H Array mit dem Datentype String[] initializieren Allgemeine Java-Themen 7
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
L regex ganzer string? Allgemeine Java-Themen 2
L Ist ein string ein erlaubter variabel name? Allgemeine Java-Themen 2
Z JNA Cpp-DLL String Verwendung Allgemeine Java-Themen 2
A String auf Zahlen überprüfen Allgemeine Java-Themen 5
N String Array Eingabe Allgemeine Java-Themen 6
MiMa Datum von String zu LocalDateTime Allgemeine Java-Themen 8
W String -> byte[] -> String - Sieht jemand was ich nicht sehe? Allgemeine Java-Themen 10
R char aus String entfernen Allgemeine Java-Themen 10
LimDul Mittels Streams aus Strings A B C den String A, B und C machen Allgemeine Java-Themen 12
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
S Ini Text aus String parsen Allgemeine Java-Themen 1
T String-Manipulation beim Ablauf in Eclipse und als JAR-File Allgemeine Java-Themen 8
M String lässt sich nicht Zusammenfügen Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben