【发布时间】:2011-10-24 10:36:47
【问题描述】:
我正在开发一个将文件存储在数据库中的 ASP.NET 1.1 网站。自 2001 年以来,该网站一直运行良好,上传和下载任何类型的文档都没有问题。
然而,最近客户注意到所有 Microsoft Office 2007 文档DOCX、XLSX 等在任何用户尝试下载它们时都已损坏。
我注意到 SQL Server 向DocumentContent(图像列)添加了一个额外的字节。在上传文档之前,内容和长度都很好。但是,在它们被存储之后,SQL Server 会添加一个额外字节.... 为什么??????
互联网上的许多人提供了有关如何下载文件的解决方案,这很棒并且对我有用。
我正在寻找这个问题的答案...为什么 SQL SERVER 会在图像列中添加一个额外的字节?
它是一个 Asp.NET 1.1 和 SQL 2000,但我们刚刚将它移到 2008 年,我们仍然遇到同样的问题。
【问题讨论】:
-
@marc_s 如果该站点自 2001 年以来就真正在线,那么假设当时的技术水平也是合理的。如果它有效......
-
Michael,数据库是 SQL Server 2000,我们将它升级到 2008,但我们仍然遇到同样的问题。我现在打算尝试更改列类型,但我认为这不是正确的想法,因为该列在网站上的很多地方都使用了
-
它是带有 VB.NET 的 ASP.net 1.1
-
更改列类型应该是无痛的并且没有任何影响 - 只需使用
ALTER TABLE dbo.YourTable ALTER COLUMN YourColumn VARBINARY(MAX)(并首先在测试系统上测试它!!) - 不需要更改您的 ASP.NET 代码.. ... -
你能找出那个字节是什么吗?我的意思是什么价值?
0x0或0xFF还是什么?
标签: asp.net sql-server sql-server-2008 sql-server-2000