gpt4 book ai didi

c# - 如何获取 SQL CLR 程序集中发生的异常的堆栈跟踪

转载 作者:行者123 更新时间:2023-11-30 16:22:47 26 4
gpt4 key购买 nike

我正在尝试使用 SQL CLR 程序集,但它导致了一些异常。然而,SQL Server Management Studio 只说:

Msg 10329, Level 16, State 49, Line 7
.Net Framework execution was aborted.
The statement has been terminated.

有什么方法可以获取堆栈跟踪吗?

最佳答案

您将无法在 T-SQL 中检索 CLR 堆栈。您可以使用两种途径:

  1. 修改 CLR 代码,在 CLR 代码中添加 try ... catch ... block 并跟踪堆栈到 catch block 的输出, 使用 SqlPipe.Send .这将在您的 T-SQL 环境中将堆栈打印为信息消息,您可以使用 SqlConnection.InfoMessage 在客户端中捕获它。

  2. 将调试器附加到 SQL Server 并捕获第一次机会 CLR 异常(即引发异常时)。这将允许您解决问题并修复它,但显然不是生产解决方案。 SQL Server 在调试器下停止时将卡住,因此请确保您在受控环境中执行此操作。

关于c# - 如何获取 SQL CLR 程序集中发生的异常的堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12153185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com