ColdFusion ORM может видеть таблицу при использовании собственного драйвера Oracle, но не при использовании тонкого драйвера - PullRequest
1 голос
/ 26 октября 2011

На сервере разработки у нас есть база данных Oracle11g , которая настроена и правильно работает с ColdFusion ORM (ColdFusion 9.0.1) с использованием native Oracle водитель.

Однако в производственной системе драйвер недоступен, поскольку мы используем стандартную версию вместо корпоративной. На этом сервере мы используем драйвер Oracle thin , выбрав «Другой» для типа драйвера на странице конфигурации администратора ColdFusion -> Источники данных. Он правильно подключается к базе данных.

Однако, после этого мы сталкиваемся с этой проблемой всякий раз, когда пытаемся запустить ormReload():

Таблица ПРОДУКТЫ, определенные для модели cfc. Продукт не существует в схеме abc.

Однако мы убедились, что с моделью все в порядке и что выполнение cfquery прекрасно вытягивает данные из таблицы. Кажется, только ORM не находит таблицу.

Странно то, что если мы переименуем таблицу и клонируем ее:

alter table ABC.PRODUCTS rename to PRODUCTS2;
create table ABC.PRODUCTS as select from ABC.PRODUCTS2;

Это как-то заставляет CF ORM правильно читать таблицу, по крайней мере, до тех пор, пока служба CF не будет перезапущена, после чего будет повторяться та же ошибка.

Кто-нибудь знает, почему это происходит, и что мы можем сделать, чтобы это исправить?

Редактировать: Мне удалось найти обходной путь, создав синоним:

create synonym P for PRODUCTS;

И затем настройка постоянного компонента для использования синонима P вместо таблицы PRODUCTS, и это, похоже, решает проблему. Тем не менее, это не решает первоначальную проблему. У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 26 октября 2011

G'day Я не знаю точного ответа на ваш вопрос, но могу предположить.

Возможно, вам нужно указать другой диалект в ваших настройках?Или, возможно, вам нужно указать схему в сопоставлениях ваших компонентов?Ваша таблица и ваше представление принадлежат одному и тому же пользователю, в одной схеме и тому подобном?(извините, что звучу расплывчато: не пользовался Oracle некоторое время).

...