并发导入 数据唯一性校验问题
我现在是要支持多个客户端并发导入资料
目前的做法的是 每个用户执行导入 就单起一个线程
比如:A、B用户同时在导入
那A用户开始校验 身份证的唯一性(唯一性校验的字段有很多,如:客户编号、手机号码)
校验成功的话就拼insert的Sql
sql如下:
INSERT INTO xxx("FunctionCode", "FunctionName") VALUES ('aaaaaaaaa', 'bbbbbbbbbb');
INSERT INTO xxx("FunctionCode", "FunctionName") VALUES ('aaaaaaaaa', 'bbbbbbbbbb');
直到1000条 再把这个sql传到数据库,用存储过程执行
现在的问题有两个
1、当用户A在业务层拼sql的时候(还没到1000条)
此时用户B也在校验身份证唯一性 那有可能A用户的记录 跟B用户的记录有重复insert
2、当用户A把1000条sql语句提交到数据库里去执行的时候(还没执行完) 那此时用户B也在校验身份证唯一性 那也有可能A用户的记录 跟B用户的记录有重复insert
谢谢!
目前的做法的是 每个用户执行导入 就单起一个线程
比如:A、B用户同时在导入
那A用户开始校验 身份证的唯一性(唯一性校验的字段有很多,如:客户编号、手机号码)
校验成功的话就拼insert的Sql
sql如下:
INSERT INTO xxx("FunctionCode", "FunctionName") VALUES ('aaaaaaaaa', 'bbbbbbbbbb');
INSERT INTO xxx("FunctionCode", "FunctionName") VALUES ('aaaaaaaaa', 'bbbbbbbbbb');
直到1000条 再把这个sql传到数据库,用存储过程执行
现在的问题有两个
1、当用户A在业务层拼sql的时候(还没到1000条)
此时用户B也在校验身份证唯一性 那有可能A用户的记录 跟B用户的记录有重复insert
2、当用户A把1000条sql语句提交到数据库里去执行的时候(还没执行完) 那此时用户B也在校验身份证唯一性 那也有可能A用户的记录 跟B用户的记录有重复insert
谢谢!
...全文
相关推荐
C#请求唯一性校验支持高并发的实现方法
主要给大家介绍了关于C#请求唯一性校验支持高并发的实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
批量导入Excel数据到数据库,带数据校验/事务回滚
批量导入Excel数据到数据库,.NET开发,带数据校验、事务回滚、Excel预览、日志功能的完整开发实例
生成并发唯一性流水号的解决方案.doc
生成并发唯一性流水号的解决方案 sql c#
excel通过配置实现导入导出和校验
excel通过配置实现导入导出和校验,只要写配置文件就可以定义导出样式和导入的校验规则,可以直接到项目中使用
导入Excel到数据库的完整案例,带数据校验/事务回滚
批量导入Excel数据到数据库,.NET 2008开发,带数据校验、数据库事务回滚、Excel预览、日志功能的完整开发代码


疑难问题
