Это может быть проблема с настройкой базы данных сервера sql, но я не уверен, с чего начать.
У меня есть хранимая процедура:
CREATE PROCEDURE aStoredProcedure
@dteSince DATETIME = null
AS
...
Код C # для вызова хранимой процедуры:
using (IDataReader dr = database.ExecuteReader("aStoredProcedure"))
{
...
Код C # отлично работает в среде Production . Здесь dteSince будет иметь значение NULL, поскольку он не указан в качестве входного параметра.
Проблема в том, что когда я запускаю это в среде UAT , он возвращает сообщение, показанное в заголовке - неверное количество параметров ...
Я могу это исправить, изменив код на:
using (IDataReader dr = database.ExecuteReader (CommandType.StoredProcedure, "aStoredProcedure"))
{
...
Исправление просто маскирует реальную проблему, касающуюся того, как код может не работать в одной среде и отлично работает в другой.
Я удалил и воссоздал хранимую процедуру, но безуспешно.
Используемые технологии C # 2.0 и Sql Server 2005.