首页 新闻 搜索 专区 学院

SqlbulkCopy 出错的问题

0
悬赏园豆:15 [已解决问题] 解决于 2012-05-24 11:42

我只是将与数据库结构一样的datatable用常规的SqlbulkCopy保存进数据库,测试发现1000条以下可以,而且很快,但是4000条左右就出错了。

有时报超时,有时干脆没反应,就挂在那了。

而且4000条时第一次一般都能导进去,再运行就没反应了。

1.尝试将datatable拆出来,分批调用SqlbulkCopy,哪怕拆成10条一个datatable也还是有这个问题。

2.微软给的补丁包装不上:http://support.microsoft.com/kb/913177/zh-cn

请问哪位解决过此问题?

问题补充:

原因找到了,我在批量导入前先将数据库中的数据删除了,如果不删除,就没有问题。

看来还是删除后资源没释放

不过删除是用的ibatis自带的功能,怎么会没释放呢.

进一步原因:

sqlbulkcopy采用ado.net的数据库连接,而删除采用的是ibatis连接,则不行。因此,删除操作也要使用此链接,猜测是不能在同一个事务里ibatis和ado.net混用?

lightwalker的主页 lightwalker | 初学一级 | 园豆:14
提问于:2012-05-23 17:56
< >
分享
最佳答案
0

可以肯定一点:不是数据量的问题,退一步说4000条数据是不会出现问题的。

问题应该出现在其他地方。

楼主可以做一个简单实验。表格数据格式比较简单,3个字段:自增、字符串、数字。

随机生成1万条数据,然后提交。

收获园豆:7
lucika.zh | 初学一级 |园豆:61 | 2012-05-24 07:30
其他回答(1)
0

是不是有资源没释放,或者是timeout的设置不合理等

收获园豆:8
太平洋的风 | 园豆:239 (菜鸟二级) | 2012-05-23 20:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册