2017-02-03 7 views
0

В настоящее время мы работаем с сервером приложений Oracle 10g с пакетом разработчика 10g, но с базой данных 11g.ORA-06508 Ошибка в форме 10G с базой данных 11g

Когда мы скомпилируем форму при подключении к нашей базе данных 11g и запустим ее на сервере приложений 10g, мы получим ORA-06508. Мы проследили это до вызова пакета, который содержится в форме (а не в atled PLL или в базе данных).

Когда мы собираемся с исторической базой данных 10g, все работает точно так, как должно.

вызов просто ...

pkg_name.procedure_name;

и спецификация этого пакета

имя_процедуры (arg1 varchar2 (100) по умолчанию нуль);

Мы не можем продолжать компиляцию в отношении старой базы данных. Любая помощь в попытке отслеживать эту ошибку будет оценена по достоинству.

+0

Теперь мы сузили это до пакетов в форме, использующей типы .... например, тип переменной: = new type() –

ответ

0

Вы подключаете базу данных 11g к пользователю, являющемуся владельцем пакета для выполнения? В этом случае или даже если вы подключаетесь к другому пользователю для выполнения pkg, я подозреваю, что синоним пропущен для этого пакета.

Обычно для этого ора-06508 - Из моего опыта только 3 возможные проблемы 1) пакет не существует 2) пакет существует, но неверно статус 3) Синоним отсутствует для этого упак

Не могли бы вы Тир после создать синоним имя_пакета для pkgowner.package_name

+0

Спасибо за комментарий, но как указано в исходном вопросе, пакет не находится в базе данных ..... Он находится на самой форме. Мы выяснили, что это происходит, когда пакет в форме обращается к типу объекта в базе данных. Существует некоторая разница в том, как они используются в 10g и 11g ...... –