1

为这个相当基本的问题道歉。

我有一个动态构建的错误字符串。字符串中的数据是由各种第三方传递的,所以我没有任何控制权,也不知道字符串的最终大小。

我有一个当前记录详细信息的事务表,我想包含该字符串,以便在必要时可以引用它。

2个问题:

  • 我应该如何将它存储在数据库中?
  • 我是否应该做其他事情,例如在代码中约束字符串?

我正在使用 Sql Server 2008 Web。

4

3 回答 3

1

您可以使用 SQL Server nvarchar(MAX)

也看看这个

于 2013-08-15T09:09:48.213 回答
1

最终,您可以启用和使用 SQL Server 2008 的 FILESTREAM 功能(WEB 版支持),处理文档意义上的超大量数据。

当然,您需要确保您将使用此服务的好处。

于 2013-08-15T09:14:28.110 回答
1

如果要存储非 unicode 文本,可以使用:

varchar(max) or nvarchar(max)

最大长度为 2GB。

其他替代方案是:

binary or varbinary

缺点:您无法搜索这些字段并对其进行索引和排序,最大大小:2GB。

有 TEXT 和 NTEXT 之分,但以后会弃用,所以不建议使用。它们具有与二进制相同的缺点。

所以最好的选择是 varchar(max) 或 nvarchar(max) 之一。

于 2013-08-15T09:24:47.857 回答