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 **如果您需要,我可以为您提供大量数据,以便您查看**
答案 0 :(得分:0)
全部正确现在我已收到推文的确认。
** Oracle .NET团队发推文:
似乎是一个特定于PL / SQL的错误,因为错误发生在 DBMS_SQL.PARSE调用
**
感谢所有至少回答过问题的人。