从Visual Studio 2017进入存储过程SQL Azure

时间:2017-07-17 14:35:33

标签: c# stored-procedures azure-sql-database visual-studio-2017 localdb

Visual Studio 2017社区版使用以下代码覆盖ExecuteScalarExecuteNonQuery

using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["DataContext"].ConnectionString))
{
    con.Open();
    var sc = new SqlCommand("InsertOrUpdate", con);
    sc.CommandType = System.Data.CommandType.StoredProcedure;
    sc.Parameters.AddWithValue("code", "some string code");
    var o = sc.ExecuteScalar(); // is null. cannot step into
    int newPrimaryKey = Convert.ToInt32(o); // stays zero
}

我的app.config datacontext中有一个azure sql server,还有一个localdb Server=(localdb)\MSSQLLocalDB;Integrated Security=true 两者都没有进入(相同的)存储过程。 我的Visual Studio Server Explorer和Visual Studio SQL Server对象资源管理器中都有相同的连接字符串。

当我通过服务器资源管理器或sql server对象资源管理器打开文件并设置断点并开始调试时,它总是说断点不会被击中。

我还将数据库作为项目添加到我的解决方案资源管理器中,并检查了项目属性中的启用sql调试

enter image description here

我已阅读此How can I step into a SQL Server stored proc from my C# code?类似问题。

如果你愿意,我可以发布存储的proc代码,但它不是那么相关,因为我无法进入调试它。

这是我的天蓝色数据库版本

  

Microsoft SQL Azure(RTM) - 12.0.2000.8 2017年6月7日01:09:35版权所有(C)2017 Microsoft Corporation。版权所有。

这是我的localdb

  

Microsoft SQL Server 2016(SP1)(KB3182545) - 13.0.4001.0(X64)2016年10月28日18:17:30版权所有(c)Windows 10 Pro 6.3上的Microsoft Corporation Express Edition(64位)(Build 15063: )(管理程序)

运行Visual Studio 2017社区15.2(最新稳定版) 和云资源管理器1.1.1704.221 和ssms 17.1(14.0.17119.0)

我还以管理员身份启动了vs。也没有帮助。

我的机器上没有显示app调试的第4步。不在服务器资源管理器或SQL Server对象资源管理器中。 https://www.codeproject.com/Articles/1079275/Debug-Stored-Procedures-in-Visual-Studio-and-SSMS

enter image description here

似乎在localdb上检查过。不适用于azure sql。

当我手动想要从ssms运行存储过程时,azure db没有调试选项。

enter image description here

1 个答案:

答案 0 :(得分:0)

截止到2018年11月,Azure SQL不支持调试 enter image description here