0

私は通常、APIの問題について投稿しませんが、完全に困惑しています。groovyのwithBatch()メソッドを使用しようとしていますが、問題が発生しています。これが私が試していることです:

connection.withBatch ('insert into SCHEMA.TABLE(VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE,VALUE) values (?,?,?,?,?,?,?,?,?,?,?,?)') { ps ->
    for(def dom : domain.domainData)
    {
        def values = dom.collect {key, value -> value}
        ps.addBatch(values)
    }

そして私はこれを取得し続けます:

groovy.lang.MissingMethodException:メソッドの署名なし:groovy.sql.Sql.withBatch()は引数タイプに適用可能:(java.lang.String、... updater.InsertAllService $ _updateData_closure1)値:[SCHEMA.TABLEに挿入(VALUE、VALUE、VALUE、VALUE、VALUE、VALUE、VALUE、VALUE、VALUE、VALUE、VALUE、VALUE)values(?、?、?、?、?、?、?、?、?、?、?、? )、... updater.InsertAllService $ _updateData_closure1 @ 74eb011d]考えられる解決策:withBatch(groovy.lang.Closure)、withBatch(int、groovy.lang.Closure)、isWithinBatch()

(プライバシー上の理由から、値とパッケージ名を削除する必要がありました)

私はこれを毎朝いじくり回してさまざまなこと(他のwithBatchメソッドを含む)を試していましたが、これと同じエラーが発生し続けています。誰かが私がしていることを見ますか?ありがとう!

4

1 に答える 1

2

Groovyのどのバージョンですか?文字列とクロージャを使用withBatchするバリアントはGroovy1.8でのみ導入されました。エラーメッセージの「考えられる解決策」は、Groovy1.7を使用していることを示しています。

于 2012-09-13T17:37:19.087 に答える