DBMS_SQL.PARSE重载的CLOB版本不起作用

时间:2014-10-21 09:21:50

标签: dynamic-sql clob oracle12c

as oracle database 12c文档说明dbms_sql.parse有重载版本,它接受CLOB DataType。

但是如果我将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到7MB **如果您需要,我可以为您提供大量数据,以便您查看**

1 个答案:

答案 0 :(得分:0)

全部正确现在我已收到推文的确认。

** Oracle .NET团队发推文:

  

似乎是一个特定于PL / SQL的错误,因为错误发生在   DBMS_SQL.PARSE调用

**

感谢所有至少回答过问题的人。