2010-05-11 4 views
1

J'utilise l'outil décrit here pour nettoyer un peu de cruft de nos DB de développement. J'ai rencontré un problème étrange avec elle et ne peux pas trouver la cause.Sortie sp_helptext supprimée par ADO.NET?

Pour certaines procédures stockées, la méthode GetProcedureText (l: 47, Validator.cs) ne parvient pas à renvoyer le texte proc, entraînant le comportement du programme de manière inattendue. Lors du débogage et du lancement dans GetProcedureText, il devient clair que SqlDataReader renvoyé par l'appel à ExecuteReader sur SqlCommand ne contient pas de jeu de résultats. La question est pourquoi ..

Exécution exec sp_helptext <proc name> à partir de SSMS renvoie le texte proc comme prévu. Le problème se produit avec les mêmes procs à chaque fois. Voici l'un des processus présentant ce problème, bien que le problème semble être avec ADO.NET plutôt que SQL Server. J'utilise SQL Server 2005. Des idées??

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 

+0

FYI: Une trace sur le serveur SQL révèle que sp_helptext est en cours d'exécution. Il n'y a pas d'autorisations spéciales sur les SP concernés et je me connecte en tant que SA. – bszom

Répondre

1

J'ai rencontré le même problème. Dans mon cas, il semblait se produire quand il y avait une erreur dans le SQL de l'objet, comme une colonne ou une table renommée. Il retournera un résultat vide, alors tous les objets suivants retourneront un résultat vide. J'ai dû créer une nouvelle SqlConnection pour chaque objet de base de données pour le faire fonctionner correctement. Je ne sais pas quelle est la cause sous-jacente, mais cela a fonctionné pour moi ...

+0

Cela semble terrible - d'autant plus que l'objectif de l'outil est de trouver ces objets invalides. Merci pour le conseil cependant, je vais l'essayer! – bszom

Questions connexes