0

Oracleデータベース12cのドキュメントには、dbms_sql.parseにはCLOB DataTypeを受け入れるオーバーロードされたバージョンがあると記載されているためです。

しかし、dbms_sql.parse オーバーロードに clob を渡すと、PLS-00172: stringliteral too long というエラーが発生します。私はこれに行き詰まっています。私は何を間違っていますか?

これは私がやっていることのほんの一例です。

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 MB です。

4

1 に答える 1

0

すべて正しい今、ツイートから確認を得ました。

**Oracle .NET チームのツイート: </p>

DBMS_SQL.PARSE 呼び出しでエラーが発生するため、PL/SQL 固有のバグのようです。

**

少なくとも質問を確認してくれたすべての人に感謝します。

于 2014-10-22T05:22:16.117 に答える