Wie kopiert man eine Tabelle von einer Datenbank in eine andere?

8

Ich muss eine Tabelle aus einer Datenbank nehmen und sie in eine andere Datenbank hochladen. Also, ich erstelle zwei separate Verbindung. Hier ist mein Code

%Vor%

Die obigen letzten Zeilen funktionieren nicht Wie kann ich das machen ? Die Grundlinie ist wie man ein fertiges Ergebnisset wiederverwenden kann

ResultSet ist ein bereites Java-Objekt. Ich hoffe, es gibt eine Möglichkeit, es zu Batch oder so etwas hinzuzufügen und executeUpdate , , aber nicht um die Ergebnismenge in einen temporären Speicher ( List , csv usw.) und die Einfügung

    
Borat Sagddiev 25.03.2014, 03:05
quelle

1 Antwort

3

Der einfachste Weg dazu ist eine vorbereitete Anweisung für den Einsatz. Damit können Sie ein einzelnes Anweisungsobjekt erstellen, mit dem die Abfrage mehrmals mit unterschiedlichen Parameterwerten ausgeführt werden kann.

%Vor%

Die Zeilen werden in table2 eingefügt, während Sie die Ergebnisse von table1 durchlaufen, sodass Sie nicht die gesamte Ergebnismenge speichern müssen.

Sie können auch die Methoden addBatch() und executeBatch() der vorbereiteten Anweisung verwenden, um alle Einfügungen in eine Warteschlange zu stellen und sie gleichzeitig an die Datenbank zu senden, anstatt für jede einzelne eingefügte Zeile eine separate Nachricht an die Datenbank zu senden. Das zwingt JDBC jedoch dazu, alle ausstehenden Einfügungen im Speicher lokal zu speichern, was anscheinend vermieden werden soll. Daher sind in diesem Fall die Ein-Zeilen-Einsätze am besten geeignet.

    
Wyzard 25.03.2014 03:24
quelle

Tags und Links