sql经常会遇到“将截断二进制或字符串”的错误——处理办法

sql经常会遇到“将截断二进制或字符串”的错误——处理办法

1、修改列长度——无法定位具体字段

2、程序逻辑中增加判断,以定位具体字段

 

由于我是在报表数据库中直接写SQL,没有校验逻辑,所以想把全部字段的长度都增加到最大。写了批量脚本:

复制代码
declare c cursor for select name, max_length from sys.all_columns where object_id= object_id('tablename') and system_type_id=231

open c

declare @cName varchar(100),@maxLength int

fetch next from c into @cName, @maxLength
while @@FETCH_STATUS=0
begin
    declare @sql nvarchar(max)
    set @sql = 'alter table tablename alter column ' + @cName + ' nvarchar(max)'
    exec(@sql)

    fetch next from c into @cName, @maxLength
end

close c
deallocate c
复制代码

 

posted @   致那向往的远方  阅读(3040)  评论(0编辑  收藏  举报
编辑推荐:
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
阅读排行:
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 接口重试的7种常用方案!
点击右上角即可分享
微信分享提示