ich hab folgendes Problem: aus einer Textdatei(ca. 100MB!) sind Zeilenweise Einträge in eine DB(MySq) zu schreiben. Jede Zeile wird im Moment per RegExp geprüft. Aus einem bestimmten Teil einer Zeile (Zahlen Code) wird zudem ein Objekt erstellt - falls diese Erstellung gut geht ist der Code korrekt.
Mein Paln ist im Moment die Textdatei per "Scanner" einzulesen, das Objekt zu erstellen, dann daraus ein String der Form "(wert1,wert2,....)" zu machen und diesen einer Stringliste hinzuzufügen. Mit dieser Liste macht man dan eine "Insert into ... (spalte 1,spalte 2) values list[1],list[2]...." -Abfrage.
Wäre das schonmal ok soweit?
Nun wird diese Textdatei in regelmäßigen Abständen eingelesen und ab dem 2. einlesen werden ca. 99% der Einträge "MySQLIntegrityConstraintViolationException" werfen ( Duplicate entry '1846715-01-3' for key 1, der primary key ist zusammengesetzt). da frage ich mich ob ich diese abfangen soll oder ob es besser ist vorher per select statement eine "Blacklist" zu erstellen und dann das insert zu machen. Fall man solch ein "multi row insert" auf der mySql-Konsole macht bekommt man ja eine Zusammenfassung - wievile gesamt, wieviel eduplicate errors und wieviele warnings. Ich hätte gerne ein ähnliches Verhalten in Java. Bieten einem die Exception(s) sowas oder muss man selbst mitzählen?
Mein Paln ist im Moment die Textdatei per "Scanner" einzulesen, das Objekt zu erstellen, dann daraus ein String der Form "(wert1,wert2,....)" zu machen und diesen einer Stringliste hinzuzufügen. Mit dieser Liste macht man dan eine "Insert into ... (spalte 1,spalte 2) values list[1],list[2]...." -Abfrage.
Wäre das schonmal ok soweit?
Nun wird diese Textdatei in regelmäßigen Abständen eingelesen und ab dem 2. einlesen werden ca. 99% der Einträge "MySQLIntegrityConstraintViolationException" werfen ( Duplicate entry '1846715-01-3' for key 1, der primary key ist zusammengesetzt). da frage ich mich ob ich diese abfangen soll oder ob es besser ist vorher per select statement eine "Blacklist" zu erstellen und dann das insert zu machen. Fall man solch ein "multi row insert" auf der mySql-Konsole macht bekommt man ja eine Zusammenfassung - wievile gesamt, wieviel eduplicate errors und wieviele warnings. Ich hätte gerne ein ähnliches Verhalten in Java. Bieten einem die Exception(s) sowas oder muss man selbst mitzählen?