解决方法:SQL SERVER 插入或更新记录是时,当字符或二进制字段超出长度时,报错:...将截断字符串或二进制数据。

[文章] 浏览(20)  | 2017年05月24日  | 支持服务 | 
【标签】MS SQL


SQL Server 插入或更新记录是时,当字符或二进制字段超出长度时,
报错:
...将截断字符串或二进制数据。/*  SQL Server 插入或更新记录是时,当字符或二进制字段超出长度时,
报错:
...将截断字符串或二进制数据。


解决方法:


1、针对某一数据库AdventureWorks
设置自动截断:
只对当前会话有效

ALTER DATABASE AdventureWorks SET ANSI_WARNINGS OFF      /* SQL Server 2005及以上版本*/
sp_dboption 'AdventureWorks', 'ansi warnings', 'false'          /* SQL Server 2008以下版本*/
/* Begin --------------SQL Server 2008及以上版本*/
Use AdventureWorks
Go
SET ANSI_WARNINGS OFF
go			
/* End  ---------------SQL Server 2008及以上版本*/			

/* 系统库视图中查看 is_ansi_warnings_on 值=0(默认1) 表示 自动截断 */
SELECT name,is_ansi_warnings_on FROM sys.databases


2、全局的设定自动截断

EXEC sp_configure 'user options', 8        /* 配置选项 'user options' 已从 0 更改为 8 */
RECONFIGURE                            /* 运行 RECONFIGURE 语句进行安装。*/

/* 在用户选项配置视图中查看,其中config_value=0 则为无数据 8表示 自动截断*/
sp_configure 'user options'	

附件说明
附件