启用 CLR 的代码 + 子查询返回了超过 1 个值
CLR enabled Code + Subquery returned more than 1 value
只要有子查询用于检索列,如果它 returns 多于 1 个值,就会发生错误:
Subquery returned more than 1 value
这发生在我们的一个 ssis 包中,它使用的存储过程引发了这个错误。
有人说我们要探索如果在 SQL 服务器中使用启用 CLR 的代码,我们能否确定由于哪个列或查询发生了这个错误。
我还没有编写启用 CLR 的 SQL 代码。但是当我得到这种错误时 SQL 没有提供更多细节。我们必须深入研究代码并检查导致问题的原因。
.net 代码(启用 CLR SQL)是否可以提供比我们在 SQL 服务器上执行存储过程时提供的错误更多的详细信息?
没有。 SQL 服务器正在报告该错误,因此 SQLCLR 代码将收到完全相同的错误消息。
存储过程中的 T-SQL 代码应该在 TRY / CATCH 中,CATCH 块应该报告 ERROR_LINE ()
以便您可以缩小范围。
只要有子查询用于检索列,如果它 returns 多于 1 个值,就会发生错误:
Subquery returned more than 1 value
这发生在我们的一个 ssis 包中,它使用的存储过程引发了这个错误。
有人说我们要探索如果在 SQL 服务器中使用启用 CLR 的代码,我们能否确定由于哪个列或查询发生了这个错误。
我还没有编写启用 CLR 的 SQL 代码。但是当我得到这种错误时 SQL 没有提供更多细节。我们必须深入研究代码并检查导致问题的原因。
.net 代码(启用 CLR SQL)是否可以提供比我们在 SQL 服务器上执行存储过程时提供的错误更多的详细信息?
没有。 SQL 服务器正在报告该错误,因此 SQLCLR 代码将收到完全相同的错误消息。
存储过程中的 T-SQL 代码应该在 TRY / CATCH 中,CATCH 块应该报告 ERROR_LINE ()
以便您可以缩小范围。