我需要使用.net
webservice导入大量数据(超过1000行),
它显示"network timeout error"
,从1000 +
导入整个数据的方法应该是什么?
答案 0 :(得分:1)
我认为问题可能与在连接超时到期之前将所有1000行插入数据库花费太长时间有关。
我可以通过两种方式来解决这个问题。
要么增加连接超时,这可能不是最好的解决方案。如果您遇到小型Internet连接问题或数据库所在的服务器运行速度比正常情况慢,您最终可能会插入一些记录但不是全部。
我个人认为最好的方法是拆分查询,使其只返回,一次说100行。即它获得前100个,将它们插入到数据库中,成功完成后,检索接下来的100条记录并调用Web服务插入100行,成功后获取下100条记录,依此类推。
希望这会有所帮助。
答案 1 :(得分:0)
要解决超时问题,您需要在HttpClient
中实施超时。
有两种类型的超时。
您需要设置如下所示的超时时间。
HttpParams httpParams = new BasicHttpParams();
//50 secs connection time out
HttpConnectionParams.setConnectionTimeout(httpParams,50 * 1000);
//50 secs session time out
HttpConnectionParams.setSoTimeout(httpParams, 50 * 1000);
HttpClient httpClient = new DefaultHttpClient(httpParams);