使用SET ARITHABORT ON;解决了这个问题。
可以将CommandText更改为简单查询“UPDATE TableABC SET Field1 = Field1 WHERE ID = XYZ”,以查看它是proc还是连接字符串本身。我猜这个过程很好,并且conn中可能还有一些东西。
尝试启用SQL事件探查器并比较两次调用期间正在处理的内容。
此外,在Management Studio中,在测试过程之前运行以下命令:
CHECKPOINT DBCC DROPCLEANBUFFERS
这些命令将确保您的SSMS测试在运行该过程时重新开始。可能的是,由于先前的执行,您的SSMS测试可能会给出错误的快速结果,而不是您的VB.NET给出错误的慢速结果。
CHECKPOINT DROPCLEANBUFFERS 关于主题的帖子