CommandType を StoredProcedure に設定していないことに気付きました...それが問題の原因であるかどうかはわかりません:
cmd.CommandType = CommandType.StoredProcedure;
私自身、数えきれないほどの回数をこなしてきました。
次に例外がスローされたときに記憶を呼び起こすためのヒント:
アプリの実行中に SQL クエリ プロファイラーを開きます。各コマンドを実行すると、サーバー側で生成および実行された SQL が表示されます。生成された SQL が sp_executesql
で始まる場合 その後にクエリが続き、通常のクエリとして実行されます-つまり、 cmd.CommandType = CommandType.Text
、 exec
で始まる場合 、ストアド プロシージャとして実行される可能性があります。実行しようとしているクエリの種類に対して正しい SQL が生成されていることを確認してください。