異なるSQL接続を使用して、1つのテーブルからデータを選択し、別のテーブルにバッチで挿入したいとします。 2つのテーブルはまったく同じように設定されています。現時点では私が持っている:groovy sqlを使用してデータベーステーブルを移行する際の問題
destination.withBatch(1000) { stmt ->
source.eachRow(selectQuery) {
String insertString = """
INSERT INTO dest_table
VALUES (
${it[0]},
${it[1]});
"""
try {
stmt.addBatch(insertString)
}
catch (Exception e) {
println insertString
}
}
}
何かが、このプロセスではデータ型に発生するようです、それが原因で、大腸の'a:string'
のような文字列を挿入する非常に不幸なりますので。
私は'${it[0]}'
を実行して強制することができますが、それは文字列として扱われますが、これは他のデータ型になると問題を引き起こします。
また、私のエラー処理は間違いなく正しく機能していません。私はそれが実行できなかったインサートを印刷してから、正常に実行してほしい。
おかげ
あなたの 'selectQuery'とは何ですか?実際の例外は何ですか? –