даже не знаю с чего начать... .net-овская программа работает с oracle. для передачи данных используются именованные параметры. работа ведется несколько лет. когда-то все работало четко, но сейчас обнаружилось, что имена параметров не имеют значения, а их порядок имеет. подскажите, куда копать
обращение происходит к хранимым процедурам, параметры передаются стандартно:
using (OracleCommand cmd = GetConnection().CreateCommand())
{
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "Owner.Package.Procedure";
OracleParameter p1 = new OracleParameter();
p1.OracleDbType = OracleDbType.Decimal;
p1.Direction = ParameterDirection.Input;
p1.ParameterName = "param1";
OracleParameter p2 = new OracleParameter();
p2.OracleDbType = OracleDbType.Decimal;
p2.Direction = ParameterDirection.Input;
p2.ParameterName = "param2";
cmd.Prepare();
cmd.ExecuteNonQuery();
}
как должно выполняться: при изменении порядка параметров всё должно работать корректно.
как сейчас: если поменять параметры местами (а их тип одинаковый) то процедура выполнится, но с некорректными данными.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники