【教程】SQL Server错误源:.net SqlClient data provider

原创 萧瑟  2017-08-09 22:37:33  阅读 1442 次 评论 0 条

前言

今天下午直接在SQL Server 2012的Microsoft SQL Server Management Studio 中修改一张表中某个字段, 不管是删除字符还是添加都提示下面的错误.

错误截图

错误原因

这个原因是因为我之前把富文本控件存入数据库中那个列名我设置的是text,后来根据百度又去查了很多资料,说是修改成ntext类型,不过还是没用,网上很多人说是表字段定义长度小于输入数据长度不符造成,我这个很明显不是这个问题,即使用测试数据输入一些单个字母或者数字还是提示这个问题,后来去博客园、CSDN找了很多方法,发现了微软说后期版本将不再支持ntext类型。

解决方案

(微软建议将ntext字段类型用nvarchar(max)替换,因为其以后的版本将不再支持ntext。)把该ntext字段个性为nvarchar(max)后,就能修改字段的内容了,把出错的字段内容清空。 保存后,再把字段类型恢复为ntext.,内容重新从后台添加,问题解决。

ntext和text的区别

ntext和text一样用来保存大量的文字数据,不过text用单字节保存数据 ,ntext固定用双字节保存数据. ntext保存的是Uncode的字符 , ntext支持跨语言平台。

ntext:

可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。 ntext中存数据是按双字节存的 ,显示不了NTEXT你换一下recordset打开方式就行了

text:

服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。

本文地址:https://www.xsyrz.cn/NET-SqlClient-data-provider.html
版权声明:本文为原创文章,版权归 萧瑟 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?