Sql server 更新在BulkInsert之前执行

Sql server 更新在BulkInsert之前执行,sql-server,vb.net,bulkinsert,sqlbulkcopy,Sql Server,Vb.net,Bulkinsert,Sqlbulkcopy,我编写了一个程序,使用sqlCopy插入一些记录以加快处理速度,然后代码根据新插入的记录执行并更新语句(在另一个表上) 问题是更新几乎总是在插入之前执行![大约2秒之前..根据插入和更新行的时间戳。]插入后执行更新的唯一方法是将代码休眠2-3秒。。是否有更好的方法确保插入在代码继续之前完成 我甚至捕获了RowsCopied事件,这些行在更新之前立即被复制。但在数据库中,更新会更早地进入 bulkCopy.WriteToServer(table) Dim Sql = "Upd

我编写了一个程序,使用sqlCopy插入一些记录以加快处理速度,然后代码根据新插入的记录执行并更新语句(在另一个表上)

问题是更新几乎总是在插入之前执行![大约2秒之前..根据插入和更新行的时间戳。]插入后执行更新的唯一方法是将代码休眠2-3秒。。是否有更好的方法确保插入在代码继续之前完成

我甚至捕获了RowsCopied事件,这些行在更新之前立即被复制。但在数据库中,更新会更早地进入

     bulkCopy.WriteToServer(table)

     Dim Sql = "Update tbl Set Total = (select sum(qty) from Inserttbl where inId = ID)"
     ExecuteSQL(Sql)

发现了问题。。。插入时间戳由客户端提供,而更新时间戳来自服务器。客户端时间比服务器时间早2秒


我改变了两者都应该使用servers getDate函数。问题解决了

您是否尝试过使用
bulkCopy.Options
TableLock…?bulkCopy和ExecuteSQL是否使用相同的连接?如果是这样,根据MSDN,这是不可能的。顺便说一句,我查看了SqlBulkCopy的一些示例,这些代码使用“using”语句。检查:WriteToServer是同步的。我建议您运行SQL跟踪以查看发送到SQL Server的实际请求。感谢您在解决此问题方面的帮助!每一条评论都有助于最终解决问题。