【标签】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
![](/UsersFiles/Users/12/Images/2017/5/24/o_1bgso3cag1pt4tf7r4rnv91uqm7_20170524161233993.jpg)
2、全局的设定自动截断
EXEC sp_configure 'user options', 8 /* 配置选项 'user options' 已从 0 更改为 8 */
RECONFIGURE /* 运行 RECONFIGURE 语句进行安装。*/
/* 在用户选项配置视图中查看,其中config_value=0 则为无数据 8表示 自动截断*/
sp_configure 'user options'
![](/UsersFiles/Users/12/Images/2017/5/24/o_1bgso42a41lniio1cst1t5k1hmh7_20170524161256693.jpg)