Следующего код хранимой процедуры работа в наших DEV и тестирование, которые работают с Oracle 11G, но не будет работать в нашей 10G PROD среды:Oracle хранимая процедура - разница между 10g и 11g возможно?
первого, я создал свою собственную структуру данных в Oracle для хранения любого массива VARCHAR2:
create or replace
type MAT_MULTIPLES_ARRAY as table of VARCHAR2(100);
здесь код процедуры:
create or replace PROCEDURE MAT_SUBMIT_JOB (v_multiples_columns_to_add IN our_schema.MAT_MULTIPLES_ARRAY)
v_jobno number;
v_job_name VARCHAR2(100);
v_error_message VARCHAR2(32000);
begin
v_job_name := 'doesnt matter right now';
dbms_scheduler.create_job(v_job_name,program_name=>'MAT_JOB_PROGRAM');
dbms_scheduler.set_job_anydata_value(v_job_name,1,sys.anydata.convertCollection(v_multiples_columns_to_add));
dbms_scheduler.enable(v_job_name);
end;
снова, на этот же код работает в 11G в наших DEV и тестирования, и он собирает в нашей 10G среде, но это, кажется, бар f во время выполнения, на второй строке dbms_scheduler (выделено полужирным шрифтом).
Работает ли dbms_scheduler в 10G? Или, возможно, есть проблема с «sys.anydata.convertCollection (v_multiples_columns_to_add)»
Вот сообщение об ошибке:
ORA-22370: неправильное использование метода происходит от линии 19 в моей процедуре.
Строка 19 - это линия с вызовом convertCollection().
Пожалуйста, помогите!
Это не будет компилироваться, или он не будет работать? Какое сообщение об ошибке вы получаете? ('barf' не является сообщением об ошибке, хотя, возможно, должно быть). –
спасибо :) Я отредактирую вопрос. –
(комментирует этот код) –