Jeg bemærker, at du ikke har indstillet CommandType til StoredProcedure... Jeg ved ikke, om det er årsagen til dit problem eller ej:
cmd.CommandType = CommandType.StoredProcedure;
Jeg har selv gjort det så mange gange, at jeg ikke kan tælle.
Tip til at aktivere din hukommelse, når dette giver undtagelser næste gang:
Hav SQL Query Profiler åben, mens du kører din app. Når hver kommando udføres, viser den SQL genereret og kørt på serversiden. Hvis den genererede SQL begynder med sp_executesql
efterfulgt af din forespørgsel, så køres den som en almindelig forespørgsel - dvs. cmd.CommandType = CommandType.Text
, hvis det starter med exec
, chancerne er, at det køres som en lagret proc. Sørg for, at du får den korrekte SQL genereret til den type forespørgsel, du prøver at køre.