Эта ошибка не имеет ничего общего с проблемой в процедуре, которую вы выполняете. Эта ошибка связана с тем, как вы называете ее в одной базе данных по сравнению с другой. Именно вызывающая сторона в DEV отправляет правильную комбинацию параметров и типов параметров. Логика, которая в конечном итоге вызывает процедуру в PROD, отправляет другую комбинацию параметров.
Сначала проверьте спецификацию процедуры в обеих базах данных, чтобы убедиться, что она ДЕЙСТВИТЕЛЬНО одинакова. Ищите различия в параметрах, типах данных или любую разницу в DEFAULT NULL и т. П.
Затем проверьте логику, которая вызывает фактическую процедуру между базами данных. Обычно будет отсутствовать один из параметров или тип данных будет неправильным. Порядок ваших параметров также важен, если вы не используете именованную запись.
Если в конечном итоге вы уверены, что все одинаковы, то, возможно, это связано с данными, один из входящих параметров не имеет значения, и ваши драйверы C ++ не вызывают процедуру одинаково.
Это серьезная и ясная ошибка, и она говорит вам, что в конечном счете есть разница в том, как она называется. Удачи.