多重插入到SQL Server 2008通过Ado.Net 3.5和c#
本文关键字:Net Ado 2008通过 插入 SQL Server | 更新日期: 2023-09-27 18:15:51
我有一个数据集合。我需要将这些记录插入SQL Server 2008。我还需要维护事务,这样如果一个插入失败,我就需要回滚所做的所有更改。
谁能提出一个最好的方法来做这件事?我使用。net 3.5。您需要使用SqlConnection
对象的BeginTransaction方法创建一个事务。这将返回一个需要跟踪的SqlTransaction
对象。
当所有条目都成功插入到数据库中时,您将在事务对象上调用Commit。
如果在处理过程中遇到异常,则需要在事务对象上调用Rollback。
粗略地说,代码是:SqlConnection conn;
// Create and open your connection here
SqlTransaction trans = conn.BeginTransaction();
try {
// Perform your inserts
trans.Commit();
} catch(Exception ex) {
trans.Rollback();
// Report the exception
}
阅读有关TransactionScope和System.Transactions的所有信息
取决于您是否使用ADO。. NET/plain SQL可以使用批量插入,或者,如果你使用LINQ -to-SQL,你可以尝试使用LINQ实体数据阅读器一次插入大量数据。
通过使用大容量插入,每个批处理作为一个事务复制到服务器。如果失败,SQL Server提交或回滚每批事务。