CLR启用Code + Subquery返回的值超过1

时间:2015-12-10 10:30:40

标签: .net sql-server ssis subquery sqlclr

每当有一个子查询用于检索列时,如果它返回的值超过1,则会发生错误:

  

子查询返回的值超过1个

我们的一个ssis包正在使用一个存储过程抛出此错误。

有人说我们要探索在SQL Server中使用支持CLR的代码是否可以识别出由于哪个列或查询发生了此错误。

我还没有使用过支持CLR的SQL代码。但是当我遇到这种错误时,SQL并没有提供更多细节。我们必须深入研究代码并检查导致问题的原因。

在我们在SQL Server上执行存储过程时,.net代码(启用CLR的SQL)是否有可能提供有关错误的更多详细信息?

1 个答案:

答案 0 :(得分:1)

没有。 SQL Server报告错误,因此SQLCLR代码将收到完全相同的错误消息。

存储过程中的T-SQL代码应该在TRY / CATCH中,而CATCH块应该报告ERROR_LINE (),以便缩小范围。