拷贝粘贴要素类(包含BLOB)提示“Maximum BLOB size exceeded”的解决办法

今天遇到用户的一个问题

用户环境:Oracle  11.1.0.6    ArcSDE9.3.1

问题描述:用户的数据包含BLOB字段,估计这个BLOB存储的数据有大有小,通过ArcCatalog进行复制粘贴或者Load数据都会报

Failed to paste 图层名
Table not registered 用户名.图层名
Maximum BLOB size exceeded

关键错误是超出最大的BLOB大小,那么我们通过查看ArcSDE参数来分析该问题。

ArcSDE参数中有两个涉及到BLOB的参数

==============================================

参数名:MAXBLOBSIZE
描述:用户定义的 BLOB 的最大大小(以字节为单位)
默认:-1 (SE_UNLIMITED_BLOBSIZE)ArcSDE10的默认参数

注释:从 ArcGIS 10 开始,该参数设置为 -1 (SE_UNLIMITED_BLOBSIZE)。所有新的和升级的地理数据库都将被设置为无限制。

==============================================

参数名:BLOBMEM
描述:存储 BLOB 时,服务器必须累计应用程序通过网络发送的 BLOB 区段。如果 BLOB 大小大于 BLOBMEM,则服务器会在将 BLOB 数据存储到数据库中之前将其写入到磁盘文件。如果 BLOB 大小小于 BLOBMEM,则服务器会将 BLOB 累计到内存中。如果 BLOBMEM 是负数,则服务器始终都会使用内存,而不会考虑 BLOB 大小。
默认:1,000,000 Byte

==============================================

因为用户的版本是ArcSDE9.3.1 ,那么ArcSDE参数MAXBLOBSIZE还是默认的1000000Byte(1M)也就是说最大的BLOB存储大小限制在1MB,大于1MB就会报如下错误(该图为测试所得)

拷贝粘贴要素类(包含BLOB)提示“Maximum BLOB size exceeded”的解决办法_第1张图片

所以在ArcSDE9.3.1解决问题只需要将MAXBLOBSIZE参数修改为1000000000多加几个0就可以了

 

PS :刚才做过测试,不能再ArcSDE9.3.1直接将该值修改为-1者SE_UNLIMITED_BLOBSIZE

 


说明:以上错误红字的是ArcSDE9.3.1错误,图片为ArcSDE10的错误,可能有所差别。

你可能感兴趣的:(oracle,数据库,服务器,测试,存储,byte)