C# ADO.NET正在删除sp_helptext输出?

C# ADO.NET正在删除sp_helptext输出?,c#,sql-server,ado.net,C#,Sql Server,Ado.net,我正在使用描述的工具清理开发数据库中的一些积垢。我遇到了一个奇怪的问题,找不到原因 对于某些存储过程,GetProcedureText方法(l:47,Validator.cs)无法返回过程文本,导致程序异常运行。当调试并进入GetProcedureText时,通过调用SqlCommand上的ExecuteReader返回的SqlDataReader显然不包含结果集。问题是为什么 从SSMS运行exec sp\u helptext会按预期返回过程文本。每次相同的进程都会出现此问题。下面是显示此问题

我正在使用描述的工具清理开发数据库中的一些积垢。我遇到了一个奇怪的问题,找不到原因

对于某些存储过程,GetProcedureText方法(l:47,Validator.cs)无法返回过程文本,导致程序异常运行。当调试并进入GetProcedureText时,通过调用SqlCommand上的ExecuteReader返回的SqlDataReader显然不包含结果集。问题是为什么

从SSMS运行
exec sp\u helptext
会按预期返回过程文本。每次相同的进程都会出现此问题。下面是显示此问题的一个过程,尽管问题似乎确实存在于ADO.NET而不是SQL Server

USE [IL_Party_DB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[DeathCause_SelectByDeathCauseCode]
    @deathCauseCode [varchar](15)
AS
SELECT
    death_cause_code,
    description
FROM ilpr_Death_Cause
WHERE
    death_cause_code = @deathCauseCode

我正在使用SQLServer2005。有什么想法吗?

我遇到了同样的问题。在我的例子中,它似乎发生在对象的SQL中出现错误时,例如重命名的列或表。它将返回一个空结果,然后所有后续对象将返回一个空结果。我必须为每个数据库对象创建一个新的SqlConnection,以使其正常工作。不确定根本原因是什么,但这对我很有效…

我遇到了同样的问题。在我的例子中,它似乎发生在对象的SQL中出现错误时,例如重命名的列或表。它将返回一个空结果,然后所有后续对象将返回一个空结果。我必须为每个数据库对象创建一个新的SqlConnection,以使其正常工作。不确定根本原因是什么,但这对我有效…

FYI:SQL server上的跟踪显示正在执行sp_helptext。受影响的sp没有特殊权限,我以sa身份连接。仅供参考:SQL server上的跟踪显示正在执行sp_helptext。在受影响的SP上没有特殊权限,我是以sa身份连接的。这听起来很糟糕-尤其是当该工具的目的是查找那些无效对象时。谢谢你的提示,我会试试的!这听起来很糟糕——尤其是当这个工具的目的是寻找那些无效的对象时。谢谢你的提示,我会试试的!