Hallo,
ich lade über einen Import-Befehl Daten in eine DB2 über einen externen Prozess:
Die Batch-Datei hat folgenden Inhalt:
Wie bekomme ich in eine Spalte K in Table1 einen Wert, der nicht in der Textdatei enthalten ist? Und wie kann ich an einen Wert in der Textdatei z.B. ein "A" voranstellen?
Nun da ich diese Fragen noch nicht gelöst habe (Könnt Ihr mit weiterhelfen?), mache ich natürlich Update-Abfragen im Anschluss... Ich möchte den Inhalt der Spalte K damit setzen.
Hier ist jedoch das Problem, dass das Update nichts macht, d.h. der pr.waitFor() oben bringt meiner Ansicht nach nichts.
Nur nach einem schmutzigen "Thread.sleep(2000)"-Aufruf würde es funktionieren, doch ist dies nicht zuverlässig, da ja die Import-Datei beliebig groß sein kann und 2 Sekunden vielleicht auch nicht ausreichen.
Wie kann man sonst die Java-Anwendung vor dem Update ordentlich warten lassen?
Und noch besser: Komme ich um den externen Aufruf umher und wie? Die Java/ODBC-Schnittstelle scheint den Import bzw. Load-Befehl zu ignorieren...
Vielen Dank im voraus für die Antworten,
Gruß
ich lade über einen Import-Befehl Daten in eine DB2 über einen externen Prozess:
Java:
Runtime rt = Runtime.getRuntime();
pr = rt.exec("db2cmd.exe -i c:/abc/db2_import.bat");
pr.waitFor();
Die Batch-Datei hat folgenden Inhalt:
Code:
DB2 connect to ... user ... using ...
DB2 IMPORT FROM C:/test.csv OF DEL MODIFIED BY COLDEL; METHOD P (1,2,4,6,8,9,10,3,5) INSERT INTO TABLE1(A,B,C,D,E,F,G,H,I,J)
DB2 QUIT
EXIT
Wie bekomme ich in eine Spalte K in Table1 einen Wert, der nicht in der Textdatei enthalten ist? Und wie kann ich an einen Wert in der Textdatei z.B. ein "A" voranstellen?
Nun da ich diese Fragen noch nicht gelöst habe (Könnt Ihr mit weiterhelfen?), mache ich natürlich Update-Abfragen im Anschluss... Ich möchte den Inhalt der Spalte K damit setzen.
Hier ist jedoch das Problem, dass das Update nichts macht, d.h. der pr.waitFor() oben bringt meiner Ansicht nach nichts.
Nur nach einem schmutzigen "Thread.sleep(2000)"-Aufruf würde es funktionieren, doch ist dies nicht zuverlässig, da ja die Import-Datei beliebig groß sein kann und 2 Sekunden vielleicht auch nicht ausreichen.
Wie kann man sonst die Java-Anwendung vor dem Update ordentlich warten lassen?
Und noch besser: Komme ich um den externen Aufruf umher und wie? Die Java/ODBC-Schnittstelle scheint den Import bzw. Load-Befehl zu ignorieren...
Vielen Dank im voraus für die Antworten,
Gruß