2013-10-02 3 views
1

У нас есть набор автоматических тестов для базы данных Oracle, которые мы запускаем на сервере CI с использованием OracleXE. Некоторые тесты используют тип AQ $ _JMS_TEXT_MESSAGE так:Невозможно включить типы JMS в OracleXE 11g - должен быть объявлен компонент CONSTRUCT

msg SYS.AQ$_JMS_TEXT_MESSAGE; 
BEGIN 
    msg := SYS.AQ$_JMS_TEXT_MESSAGE.construct; 
    msg.set_text(pMessage); 

В прошлом мы использовали OracleXE 10г, но я пытаюсь обновить XE 11g, чтобы соответствовать нормальные серверы Oracle эта база данных работает на. К сожалению, я не могу включить эти типы в OracleXE 11g. Я получаю следующие ошибки, пытаясь собрать эти пакеты, используя его:

1797/5 PL/SQL: Statement ignored 
1797/37 PLS-00302: component 'CONSTRUCT' must be declared 
1798/5 PL/SQL: Statement ignored 
1798/9 PLS-00302: component 'SET_TEXT' must be declared 
1799/5 PL/SQL: Statement ignored 

OracleXE не имеют этих типов, установленные по умолчанию в 10g либо, что мы устранены путем выполнения сценария найденную в установке:

RDBMS\ADMIN\prvtaqal.plb 

Даже после запуска в OracleXE 11g типы все еще не могут быть разрешены. Я также искал содержимое других файлов в том же месте, связанное с JMS и нашел эти два:

RDBMS\ADMIN\dbmsaqad.sql 
RDBMS\ADMIN\prvtaqji.plb 

Установки тех же не имело никакого эффекта.

Кто-нибудь мог использовать тип AQ $ _JMS_TEXT_MESSAGE в OracleXE 11g и знать, как обойти это? Или была возможность обойти его в XE10g дыру, которую они теперь подключили?

ответ

0

Я нашел способ обойти эту проблему. Я скопировал скрипт prvtaqal.plb из старой установки OracleXE 10g и выполнил ее в экземпляре OracleXE 11g. Типы доступны, и все хорошо.

+0

Здравствуйте, ioscode, это еще лучший и единственный способ заставить JMS работать в Oracle 11g XE? –

+0

Насколько я знаю, с тех пор я не занимался этим. – ioscode