我有一个vb.net应用程序使用普通的旧ado.net在数据库服务器上运行s'proc。 proc只是插入一个包含二进制数据的记录。
执行此操作时,我可以在sql profiler中看到对proc进行的exec调用。
ado.net声称一切正常,没有错误。但是,未插入记录。没有关键的碰撞或类似的东西。
我复制了我从profiler看到的查询,并直接在管理工作室中运行它。当我在那里运行时,会插入记录。
我不知道接下来要检查什么。想法?
找到答案。我会继续删除这个,但我确信有一天我会忘记并遇到同样的问题。
无论出于何种原因,sql server和ado.net都在密谋反对我。我试图执行s'proc的用户帐户没有执行权限。在我设置了这些权利后,它正常进行。
现在,我遇到的问题是应该有某种类型的警告,错误,异常,无论如何说“嘿,你不能这样做”而不是简单地说“一切都很好”但这是一个问题对于微软。
谢谢大家。
答案 0 :(得分:1)
这是担保权问题。见帖子。
答案 1 :(得分:0)
没有任何代码,很难诊断,但请确保您提交任何未完成的交易,请参阅:http://www.vb-helper.com/howto_net_db_transaction.html