首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UpdateBatchSize时,DataAdapter会引发并发冲突异常

使用UpdateBatchSize时,DataAdapter会引发并发冲突异常
EN

Stack Overflow用户
提问于 2014-04-22 05:47:16
回答 1查看 212关注 0票数 0

我正在使用DataAdapter,并且我很好地更新了我的数据,没有任何问题,但是当我使用UpdateBatchSize属性时,我得到了一个异常:“并发冲突:批处理命令影响了预期的2条记录中的0条。”

以下代码是我的DAL的一部分

代码语言:javascript
复制
myAdapter.InsertCommand = InsertCmd();
myAdapter.InsertCommand.UpdatedRowSource = System.Data.UpdateRowSource.None;
myAdapter.DeleteCommand = DeleteCmd();
myAdapter.DeleteCommand.UpdatedRowSource = System.Data.UpdateRowSource.None;
myAdapter.UpdateCommand = UpdateCmd();
myAdapter.UpdateCommand.UpdatedRowSource = System.Data.UpdateRowSource.None;

myAdapter.SelectCommand.Connection = myConnection.conn;
myAdapter.InsertCommand.Connection = myConnection.conn;
myAdapter.UpdateCommand.Connection = myConnection.conn;
myAdapter.DeleteCommand.Connection = myConnection.conn;

myAdapter.AcceptChangesDuringUpdate = false;
myAdapter.UpdateBatchSize = 2;

try
{
    myAdapter.Update(dt.GetChanges());
}
catch
{
    throw;
}
EN

回答 1

Stack Overflow用户

发布于 2014-05-01 19:58:26

我搜索后得到的是,你不能使用适配器UpdateBatchSize属性与你的SQL命令提供的优化并发,命令将失败,因为时间戳列的大小或每个列的并发性检查,所以SQL命令将非常大,所以你不能得到所有的东西。

如果想要使用UpdateBatchSize来最小化服务器传输,就必须在use命令或SqlAdapter中提供的并发选项中去掉时间戳列检查

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23206592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档