【发布时间】:2017-08-04 18:16:05
【问题描述】:
我想在 SQL Server 中调试一个 SQLCLR 存储过程。我一直在尝试在 VS2015 社区和最近安装的 VS2017 社区版本中调试 SP,但没有成功。我很确定问题出在附加到 SQL Server 上,但我已经完成了我在网上可以找到的所有内容,但无济于事。
在 SQL Server Express LocalDB 中创建数据库项目时,一切正常。如果我更改连接字符串以使用我的 Developer Edition SQL Server,则会收到错误消息。我做了以下事情:
- 我创建了一个新数据库。我是服务器的唯一用户,它驻留在我用于 Visual Studio 的同一台桌面计算机上。
-
在 Visual Studio 中,我创建了一个简单的数据库项目,并使用一种简单的方法将一些文本发送到输出管道。
[Microsoft.SqlServer.Server.SqlProcedure] public static void mytest () { SqlContext.Pipe.Send("in clr Craig1"); } - 我在项目属性中编辑了Target Connection String来连接新的数据库,按下连接按钮时成功连接。连接字符串为我使用了 Windows 身份验证,用户与数据库所有者相同。
- 我构建并部署了解决方案,并检查了 SQL 对象资源管理器以确保部署了 SP。是的。
- 我选择了服务器,并使用右键单击选择了“允许 SQL/CLR 调试”。我再次检查以确保它确实已设置。
- 我选择了存储过程,然后右键单击,选择了“Debug Procedure...”
- 已显示调试脚本。我走到那一行来执行 SP,然后按 F11 进入。此时我看到了以下内容:
- 我按下附加按钮并显示以下错误:
此后,程序执行并执行管道功能,但它不让我做附件和调试。
对我做错了什么有任何想法吗? 谢谢 克雷格
【问题讨论】:
-
这看起来很相似。可能会有所帮助:stackoverflow.com/questions/14180009/…
标签: c# sql-server visual-studio sqlclr