DBMS_SQL.PARSE Перегруженная версия CLOB не работает

поскольку в документации базы данных Oracle 12c указано, что dbms_sql.parse имеет перегруженную версию, которая принимает тип данных CLOB.

Но если я передам clob в перегрузку dbms_sql.parse, это даст мне ошибку PLS-00172: слишком длинный строковый литерал. Я застрял с этим понятия не имею. что я делаю неправильно?

это только пример того, что я делаю.

PROCEDURE Execute_Dynamic(stmt IN CLOB)
AS
    cur INTEGER;
    ret INTEGER;
    ret_cur SYS_REFCURSOR;
    Invalid_Value_Ex EXCEPTION;  

BEGIN
    cur := SYS.DBMS_SQL.OPEN_CURSOR;
    SYS.DBMS_SQL.PARSE(cur, stmt  ,DBMS_SQL.native);

--здесь выдается ошибка PLS-00172: слишком длинный строковый литерал. --это перегруженная версия, которая принимает CLOB. stmt имеет длину около 50000 символов и весит от 5 до 7 МБ ** если вам нужно, я могу предоставить вам большие данные, чтобы вы могли проверить **


person Sunil K.    schedule 21.10.2014    source источник


Ответы (1)


Все правильно, теперь я получил подтверждение из твита.

**Команда Oracle .NET написала в Твиттере: ‏

Похоже, это ошибка, связанная с PL/SQL, поскольку ошибка возникает при вызове DBMS_SQL.PARSE.

**

Спасибо всем, кто хотя бы рассмотрел вопрос.

person Sunil K.    schedule 22.10.2014