これは、SQL Server データベースのセットアップの問題である可能性がありますが、どこから調べればよいかわかりません。
私はストアドプロシージャを持っています:
CREATE PROCEDURE aStoredProcedure
@dteSince DATETIME = null
AS
...
ストアド プロシージャを呼び出す C# コードは次のとおりです。
using (IDataReader dr = database.ExecuteReader("aStoredProcedure"))
{
...
C# コードは運用環境で正常に動作します。ここでは、dteSinceは入力パラメーターとして指定されていないため、null に設定されます。
問題は、これをUAT環境で実行すると、タイトルに示されているメッセージが返されることです -パラメーターの数が間違っています...
コードを次のように変更することで、これを修正できます。
using (IDataReader dr = database.ExecuteReader (CommandType.StoredProcedure, "aStoredProcedure"))
{
...
この修正は、ある環境ではコードが失敗し、別の環境では問題なく動作するという実際の問題を覆い隠すだけです。
ストアド プロシージャを削除して再作成しましたが、うまくいきませんでした。
テクノロジは、C# 2.0 および Sql Server 2005 を使用しました。