оператор не проанализирован и неправильное количество или типы аргументов - cfstoredproc

У меня есть процедура Oracle - editBacklog, которую я вызываю со страницы CFM через cfstoredproc. После нескольких изменений в процедуре я начал получать ORA-06550: строка 1, столбец 7: PLS-00306: неправильное число или типы аргументов при вызове 'EDITBACKLOG'. Я получил это раньше и обнаружил, что если я изменю имя процедуры, она снова начнет работать. Я изменил имя на editBacklog2, и все заработало, как я и ожидал. Я изменил имя обратно на editBacklog и получил ту же ошибку. Я снова изменил имя на editBacklog2 и начал получать ORA-01003: оператор не проанализирован. На данный момент НИЧЕГО не изменилось, кроме названий. Я снова изменил имя на editBacklog3, и оно работает, как и ожидалось.

На данный момент
editBacklog = ORA-06550
editBacklog2 = ORA-01003
editBacklog3 = работает (вроде)

Все началось, когда я пытался исправить ошибку ORA-01821: формат даты не распознан. Я боюсь, что когда я начну что-то менять, я начну вести себя так же, как описано выше.

Либо Oracle, либо CF издеваются надо мной, и в конечном итоге из-за этого мне будет нравиться один из них меньше.

Я предполагаю, что это, вероятно, метаданные кэширования cfstoredproc или что-то в этом роде, но ни Google, ни livedocs, ни OTN не могут ничего сказать о моей ситуации.

Я не SA или DBA.

У кого-нибудь есть идеи?


person Travis    schedule 01.06.2010    source источник
comment
редактировать: изменено после нескольких правок на после нескольких изменений в процедуре, просто для ясности.   -  person Travis    schedule 01.06.2010
comment
Ну, я уверен, что это проблема с кэшированием, вероятно, с CFStoredProc. Я только что вернулся с обеда, и editBacklog, editBacklog2 и editBacklog3 работают, как и ожидалось. Как только это произойдет снова, я попытаюсь найти способ очистить кеш и сообщить об этом.   -  person Travis    schedule 01.06.2010


Ответы (1)


ColdFusion кэширует некоторые вещи при работе с базой данных.

Два предложения:

  1. Отключить/повторно включить подключение к базе данных в Администраторе ColdFusion (Источник данных, Показать дополнительные настройки, Отключить подключения)

  2. Зайдите в любой модуль администрирования, который у вас есть для вашей базы данных, и завершите сеансы из ColdFusion.

В любом случае, повторное установление соединения приведет к повторному кэшированию сохраненной процедуры.

person ale    schedule 02.06.2010
comment
Спасибо, Ал. К сожалению, у меня нет доступа ни к одному из инструментов администратора, как я сказал в своем OP, я не SA или DBA. У меня есть пара трюков, которые я могу попробовать в следующий раз, когда это произойдет. - person Travis; 04.06.2010
comment
Администратор ColdFusion не является базой данных. Вы также заблокированы от этого? - person ale; 07.06.2010
comment
Я ничего не мог с этим поделать, но подождите, но это БЫЛА проблема с кешем. До обеда не работало, а после обеда было нормально... - person Travis; 24.01.2013