Я пытаюсь написать функцию Azure в C #, которая вызывает хранимую процедуру SQL Azure с параметром, но выдает ошибку ...
Исключительная ситуация при выполнении функции: Functions.EventHubRaw. mscorlib: Исключение было сгенерировано целью вызова. Поставщик данных .Net SqlClient: Процедура или функция 'FaultDetails' ожидает параметр '@FaultID', который не был предоставлен.
Чего мне не хватает?
Это очень простая хранимая процедура с одним целочисленным параметром. Я пытался добавить параметр в команду разными способами, но он всегда выдает одну и ту же ошибку.
Вот фрагмент кода из функции Azure ...
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@FaultID", SqlDbType.Int);
cmd.Parameters["@FaultID"].Value = faultID;
// cmd.Parameters.AddWithValue("@FaultID", faultID);
// cmd.Parameters.Add(new SqlParameter("@FaultID", SqlDbType.NVarChar)).Value = faultID;
var reader = cmd.ExecuteReader();
А вот и хранимая процедура ...
ALTER PROCEDURE [dbo].[FaultDetails]
(
@FaultID int
)
AS
BEGIN
SET NOCOUNT ON
SELECT Fault.FaultID, Fault.ErrCode, Fault.StatusID, Status.DeviceID, Status.Counter, Status.LMU34Telegram, Status.EventProcessedUtcTime, Status.GenTime, Device.Description, Device.ModelNumber, Device.SerialNumber,
Device.Latitude, Device.Longitude, Agent.Name, Agent.Email, Agent.Telephone
FROM Fault INNER JOIN
Status ON Fault.StatusID = Status.StatusID INNER JOIN
Device ON Status.DeviceID = Device.DeviceID INNER JOIN
Agent ON Device.AgentID = Agent.AgentID
WHERE (Fault.FaultID = @FaultID)
END
Довольно простые вещи, нет?