暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 如何在不使用DBMS_LOB.SUBSTR的情况下修剪BLOB文件

askTom 2015-11-19
253

问题描述

嗨,

我已使用“utl_raw.cast_to_varchar2”将BLOB文件转换为varchar。由于BLOB文件中的字符数大于2000 ,因此我将得到错误,为'ORA-22835 :缓冲区太小,无法将CLOB转换为字符转换为字符转换为字符转换为字符转换。

我尝试使用“DBMS_LOB.SUBSTR”对其进行修剪。

例如: utl_raw.cast_to_varchar2(DBMS_LOB.SUBSTR(XYZ, 1, 2000))

但我想知道是否有其他方法来修剪长度超过2000的BLOB文件。

我想尝试在不使用“DBMS_LOB.SUBSTR”的情况下将BLOB转换为varchar2。你能帮我一下吗,这对我很有帮助

谢谢,
阿杰五世

专家解答

为什么使用DBMS_LOB.SUBSTR会出现问题?我们有一个dbms_lob包-用来管理lob。

顺便说一下,我们在DBMS_LOB中实现了(我认为)的SSTR ,因为它是这样的:

FUNCTION SUBSTR RETURNS RAW
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 FILE_LOC                       BINARY FILE LOB         IN
 AMOUNT                         NUMBER(38)              IN     DEFAULT
 OFFSET                         NUMBER(38)              IN     DEFAULT


先是金额,然后是抵销。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论