这是我在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语句之前?
答案 0 :(得分:1)
为什么添加Thread.sleep(1000)
会解决您的问题?这里的问题是您希望在连接超时为10秒的DB2中插入1,000,000条记录。
您需要:A)增加连接超时或B)一次插入更少的记录(即插入10k或100k记录然后获得新连接)
显然,A听起来像是最好的解决方案,因为B只会增加额外连接的开销。
答案 1 :(得分:0)