BlobToClob无法在AL32UTF8中按预期方式工作

时间:2019-04-19 09:57:16

标签: oracle blob

我最近已将数据库从WE8MSWIN1252字符集导出到AL32UTF8

我具有将BLOB转换为CLOB的功能

    FUNCTION BlobToClob( stream IN BLOB ) RETURN CLOB IS
     {
                         .
                         .
        DBMS_LOB.WriteAppend(cResult,DBMS_LOB.GETLENGTH(stream)-nPosition+1,UTL_RAW.cast_to_varchar2(DBMS_LOB.SUBSTR(stream,DBMS_LOB.GETLENGTH(stream)-nPosition+1,nPosition)));
                         .
                         .
      }

在AL32UTF8数据库中运行此功能时,出现以下错误。

  

ORA-06512输入缓冲区的长度小于请求的数量

你有什么主意吗?

谢谢

Bilel

1 个答案:

答案 0 :(得分:1)

使用标准功能DBMS_LOB.CONVERTTOCLOB。您需要提供源编码,例如:

D