这是将代码行插入DB2表中的代码:
for(i=0; i<1000000; i++){
var myData = {
USERNAME: "user1",
SOMEID: i
};
@JdbcInsert("db2", "MYTABLE", myData);
}
在某个时候它会失败,并显示以下错误:
Error while executing JavaScript action expression
Script interpreter error, line=211, col=22: Error while executing function '@JdbcInsert'
Error while creating connection
Time expired getting a connection (=10000 ms). Try again.
我发现没有办法控制JDBC驱动程序超时。我错了吗?还是我应该放一些东西
java.lang.Thread.sleep(1000);
在每个@JdbcInsert语句之前?
为什么添加会Thread.sleep(1000)
解决您的问题?这里的问题是,您希望将1,000,000条记录插入到DB2中,连接超时为10秒。
您需要:A)增加连接超时或B)一次插入较少的记录(即插入10k或100k记录然后获得一个新的连接)
显然,A听起来是这里最好的解决方案,因为B只是增加了获得更多连接的开销。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句