![](/img/trans.png)
[英]C# and SQL Server: How do I get values from my SQL Table, by calling my stored procedure with C#?
[英]How can I step into a SQL Server stored proc from my C# code?
我正在调试一些使用Ado.net在SQL Server中调用存储过程(TSQL)的C#代码。 我怎样才能进入存储过程?
(我想我已经看过微软工作人员演示的这个,但是不记得让它工作所需的101个“神奇”设置。)
我将以Davide的回答和Ian对它的评论为基础,因为这正是我经历的过程。
假设 :答案基于VS2008和VS2010 。
要在调试.NET应用程序时在SQL Server上单步执行T-SQL存储过程,您需要执行以下操作:
按照MS支持说明“ 如何在Visual Studio .NET中调试存储过程 (选项2) ”
在调用存储过程的数据连接上启用“ 允许SQL / CLR调试 ”:
从评论中添加:(这似乎是让它工作的关键)
它也适用于以编程方式创建的连接。 您只需使用右键单击服务器实例时显示的完全相同的连接字符串 ,单击“属性”并向下滚动到“连接字符串”(德语中的Verbindungszeichenfolge)。
对于那些使用VS 2012并且对于为什么无法从“服务器资源管理器”窗口启用SQL / CLR调试感到困惑的人,实际上需要通过“SQL Server对象资源管理器”窗口进行连接。
在该窗口中建立连接后,将在服务器的右键单击上下文菜单中显示“ Allow SQL/CLR Debugging
和Application Debugging
设置。 这可能也适用于2013年,但我无法确认。
在项目属性中启用SQL Server调试。
在解决方案资源管理器中,右键单击项目(而不是解决方案)并打开“属性”页面。 单击树中的“配置属性”,然后单击以选中“调试”页面上的“SQL Server调试”复选框以启用存储过程调试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.