нет синтаксического анализа оператора и неверное количество или типы аргументов - cfstoredproc - PullRequest
0 голосов
/ 01 июня 2010

У меня есть процедура 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, ни liveocs, ни OTN не могут многое рассказать о моей ситуации.

Я не SA или DBA.

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

1 Ответ

5 голосов
/ 02 июня 2010

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

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

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

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

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

...