Первое поле вашей хранимой процедуры определяется как
abcd OUT INT
но вы связываете это как
cmd = adapter.InputField(cmd, "abcd", logEntry.EventId, OracleDbType.Varchar2);
Другими словами, abcd
определяется как INT
, и это параметр OUTPUT, но вы связываете его, как если бы это был параметр INPUT строки символов. Я не пошел дальше, чем это. Вернитесь и проверьте, что все ваши привязки соответствуют параметрам.
Удачи.