如何在Groovy中为SQL查询配置超时?

rip*_*234 2 sql groovy timeout

如何为此操作创建超时:?

def db = Sql.newInstance("jdbc:mysql://${mysql_host}:3306/${dbName}", 
    user, pass, 'com.mysql.jdbc.Driver')
db.eachRow(query) { row ->
  // do something with the row
}
Run Code Online (Sandbox Code Playgroud)

Vic*_*tor 9

我相信正确的方法是这样的:

sql = Sql.newInstance("jdbc:oracle:thin:@localhost:1521:XE", "user", 
                  "pwd", "oracle.jdbc.driver.OracleDriver") 

sql.withStatement { 
   stmt -> stmt.queryTimeout = 10 
} 

sql.eachRow("select * from someTable", { 
 println it 
} ) 
Run Code Online (Sandbox Code Playgroud)

当然,这是我使用Oracle的地方,但我希望这可以给你一个想法.