1

我们正在进行 Visual Foxpro (DBF) 到 SQL Server 的转换,但将保留 VFP GUI,以便现在使用 SQL Server 数据库。

在 VFP 的几个备注字段中,我们存储了 ASCII 字符和文本的混合。

最好不用 CAST 来存储这些值的最佳列数据类型是什么?

按照同样的思路,我们也有时将 Word 文档转换为备忘录文件,对于这些,SQL Server 中的哪种字段类型效果最好?

谢谢你的帮助。

4

1 回答 1

3

这取决于您使用的 SQL Server 版本。2005 和更新的版本支持 VARCHAR(MAX),它可以存储高达 2GB 的字符串。短字符串有效地存储(在行中),而较大的字符串自动存储在 blob 数据库区域中,只有指向存储在行中的 blob 的指针。从开发人员的角度来看,如果您的数据可以超过 8000 个字符,则无需担心这种复杂性并使用 VARCHAR(MAX)。

至于您的 Word 文件,这取决于您是要将实际文件(以二进制格式)存储在数据库中还是仅存储内容。在第一种情况下,您可以使用 VARBINARY(MAX) (或将文件存储在磁盘上,并且仅将路径和其他文件元数据存储在 SQL Server 中)。如果要存储实际内容,您需要先转换为某种合适的格式(富文本、XML 等),然后将其存储在 VARCHAR(MAX) 中。

注意:如果您的数据包含 unicode 字符(而不仅仅是 ASCII),请使用 NVARCHAR 而不是 VARCHAR

于 2011-12-07T15:29:16.127 回答