[解决方案]要复制的 LOB 数据的长度超出了配置的最大值

SQL Server 2005数据库使用过程中,JDBC Driver异常: com.microsoft.sqlserver.jdbc.SQLServerException: 要复制的 LOB 数据的长度(144377)超出了配置的最大值 65536。

 

   查询很多资料,网上提供一种解决办法,希望可行:

  

   经过查找一番资料,发现服务器配置选项里有一项”Max Text Repl Size”(“最大文本复制大小”),它的默认值为65536,可以通过修改这个值解决上面的问题。

通过SELECT * FROM sys.configurations WHERE NAME LIKE '%repl%'

查询得到max text repl size (B) 最大值为2147483647,可以结合实际情况设置小于等于这个数值的值。

例如:

 

EXEC sp_configure 'show advanced options', 1
go
sp_configure 'max text repl size', '6553600'
go
RECONFIGURE

 

经过上网查资料原因是SQL SERVER设置了在复制中一个UPDATE,INSERT,WRITETEXTUPDATETEXT语句可以添加到复制列的最大数据量为65536Byte(64k),对于数据量大于64K的列并不采用自动截取的方式而是不允许插入或者更新来保证数据的完整性。解决方法如下:

使用 max text repl size 选项可以重新设定字段 text image 数据的大小(单位为字节)。它的缺省值是64K, 上限是2G.
此选项仅适用于事务复制。快照复制和合并复制将会忽略此选项。
该设置将立即生效,无需重新启动服务器。
方法一:
SQL Server Management Studio配置 max text repl size 选项:
         1、在对象资源管理器中,右键单击服务器并选择“属性”。
2 、单击“高级”节点。
3 、在“杂项”下,将“最大文本复制大小”选项更改为所需的值。
方法二:
利用sp_configure修改max text repl size值;
在查询分析器里运行: sp_configure 'max text repl size','2147483647'
此命令意思重新设置max text repl size值,为2G(即设置image字段存储容量为2G); 
说明:
命令格式:
sp_configure '配置选项的名称' '选项值'

 

转载于:https://www.cnblogs.com/NoRoad/archive/2011/04/19/2021308.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值