【问题标题】:Not able to save more than 43679 char in text datatype column in SQL Server无法在 SQL Server 的文本数据类型列中保存超过 43679 个字符
【发布时间】:2016-02-03 09:27:16
【问题描述】:

我在表中有一个 text 数据类型的列,并尝试从 C# 代码将一些字符串值保存到该列。当我使用一些非常大的字符串时会出现问题。

我无法将超过 43679 个字符保存到文本字段中。我知道text 的大小可以是 2^31。

我还尝试从 SSMS 中保存相同的值并注意到相同的情况。

代码没什么特别的,但是下面还是给出了SQL查询...

update TableName
set ColumnName = 'some text more than 43679 char'
where id=<some int id>

顺便提一下...列在表中声明为

[columnname] [text] NULL

谁能告诉我哪里出了问题。

【问题讨论】:

  • 您在运行查询时遇到了什么错误?
  • 只需谷歌搜索 43679 :)
  • ntexttextimage 数据类型将在 SQL Server 的未来版本中删除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用nvarchar(max)varchar(max)varbinary(max)See details here
  • 感谢您的信息.. 我将使用 varchar(max) 更新我的专栏..

标签: c# sql-server-2008 sqldatatypes


【解决方案1】:

您可以尝试使用varchar(max) 来存储大量数据。见MSDN

我们建议您使用 varchar(max) 来存储大数据, nvarchar(max) 或 varbinary(max) 数据类型。控制行内和 这些数据类型的行外行为,请使用大值类型 行选项。

您也可以在这里查看相同的问题:SSMS - Can not paste more than 43679 characters from a column in Grid Mode

【讨论】:

  • 谢谢...这实际上是 SSMS 问题,仍然由 Microsoft 团队开放。
  • @Abhash786:- 不客气。确实,但微软团队也要求现在使用varchar(max) 来存储大量数据,并且可能text 将很快被弃用(虽然没有官方消息);)
  • @Thanks Rahul...我认为 varchar(max) 可以达到 8000 字节或 2 GB...对吗?
  • @Abhash786:- 确实,要存储的数据量相当大……对吧? ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-13
  • 2013-02-18
  • 1970-01-01
  • 1970-01-01
  • 2011-01-22
相关资源
最近更新 更多