Rac*_*SQL -1 sql-server-2012 filestream
我有一个带有此配置的表:
现在,如果您查看 COLUMN_11,它是一个 varchar -1。
但据我所知,要将 PDF 文件插入表中,您需要文件流,并且列应该是 VARBINARY(max) 对吗?
那么,这是如何运作的呢?为什么 VARCHAR 列中有 PDF?
DocumentBody 是这样的:
显然,这样的数量有数百万。
J.D*_*.D. 5
当您看到或数据类型-1的值时,这只是 .NET SQLDBTYPE 的数字表示形式,如此处所述。VARCHARNVARCHARMAX
-1
VARCHAR
NVARCHAR
MAX
因此,看起来应用程序可能只是将 PDF 的序列化编码字符串表示形式存储在数据库中的一VARCHAR(MAX)列中。
VARCHAR(MAX)
我假设设计此的开发人员认为这是存储 PDF 的最简单方法,而不是VARBINARY(MAX),这会节省您的空间(正如 Dan Guzman 在评论中指出的那样)。此外,实际上最佳实践是不要将文件本身存储在数据库中,而是存储在文件系统中的某个位置,并将对该文件的位置引用存储在数据库中。
VARBINARY(MAX)
归档时间:
4 年,9 月 前
查看次数:
40 次
最近记录: