【发布时间】:2011-06-11 19:05:09
【问题描述】:
我正在调试一些使用 Ado.net 在 SQL Server 中调用存储过程 (TSQL) 的 C# 代码。如何进入存储过程?
(我想我已经看过微软员工的演示,但想不起让它工作所需的 101 个“魔法”设置。)
【问题讨论】:
标签: c# .net sql-server visual-studio debugging
我正在调试一些使用 Ado.net 在 SQL Server 中调用存储过程 (TSQL) 的 C# 代码。如何进入存储过程?
(我想我已经看过微软员工的演示,但想不起让它工作所需的 101 个“魔法”设置。)
【问题讨论】:
标签: c# .net sql-server visual-studio debugging
我会以 Davide 的回答和 Ian 的评论为基础,因为这正是我所经历的过程。
假设:答案基于VS2008 & VS2010。
要在调试 .NET 应用程序时单步执行 SQL Server 上的 T-SQL 存储过程,您需要执行以下操作:
按照 MS 支持说明“How to debug stored procedures in Visual Studio .NET(选项 2)”
在调用存储过程的数据连接上启用允许 SQL/CLR 调试:
从 cmets 添加:(这似乎是让它工作的关键)
它也适用于以编程方式创建的连接。您只需使用当您右键单击服务器实例时显示的完全相同的连接字符串,单击“属性”并向下滚动到“连接字符串”(德语为 Verbindungszeichenfolge)。 p>
【讨论】:
对于那些正在使用 VS 2012 并且对为什么无法从服务器资源管理器窗口启用 SQL/CLR 调试感到困惑的人,您实际上需要通过“SQL Server 对象资源管理器”窗口进行连接。
在该窗口中建立连接后,Allow SQL/CLR Debugging 和 Application Debugging 设置将出现在服务器的右键单击上下文菜单中。这可能也适用于 2013 年,但我无法确认。
【讨论】:
SQL Server Object Explorer 中找到了这些设置,但仍然收到断点当前不会被命中的消息。
在项目属性中启用 SQL Server 调试。
【讨论】:
在解决方案资源管理器中,右键单击项目(不是解决方案)并打开属性页。单击树中的配置属性,然后单击以选中调试页面上的 SQL Server 调试复选框以启用存储过程调试。
【讨论】: