首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL-CLR存储过程不返回值

SQL-CLR存储过程不返回值
EN

Stack Overflow用户
提问于 2012-04-13 14:28:30
回答 1查看 2.2K关注 0票数 0

我查看了Stackoverflow,发现了几乎相同的这里的问题。一年前有人问过,现在还没有人回答。也许我会比user1038334更幸运,有人会帮我。

我有一个SQL存储过程,它可以正常工作几天,直到发生一些奇怪的事情。存储的proc更新表并作为结果代码返回值。因此,通过查看这个值,我可以判断是否出了问题。问题是在接收这个结果值时。C#代码在接收返回值时抛出异常。

代码语言:javascript
复制
var returnValue = new SqlParameter {Direction = ParameterDirection.ReturnValue};
command.Parameters.Add(returnValue);

connection.Open();
command.ExecuteNonQuery();

return (int)returnValue.Value; //<-- here is an exception

最有趣的是,如果我连接Server,捕获查询,然后在中执行这个查询,我仍然可以得到一个结果值,而不会出现任何问题:

代码语言:javascript
复制
DECLARE @RC INT
EXECUTE @RC = MyClrStoreProc
SELECT @RC

一旦我重新发布CLR程序集或重新启动Server,一切都会得到修复。

我很确定这么奇怪的行为是有原因的,但我找不到。

  • Server版本: Microsoft SQL Server Developer Edition (64位)- v.10.50.1765.0
  • 主机操作系统版本:MicrosoftWindowsNT6.1 (7601)
  • .Net版本: v4.0.30319

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-07 07:50:03

这是一个Server错误,累积更新包8修复了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10142717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档