C#学习教程:在SQL Server 2005 IMAGE列中存储20 Meg文件的最有效方法分享


在SQL Server 2005 IMAGE列中存储20 Meg文件的最有效方法

我们将文档存储在SQL Server 2005数据库表中,列格式为“Image”。

每次我尝试存储大于1兆的PDF文件时,它都会以某种方式被破坏。

在.NET中是否有任何特别有效的方法可以将大文件(~10megs)序列化并存储到数据库中?

[编辑]微软实际上说最大文件大小约为2G可变长度二进制数据从0到2 ^ 31-1(2,147,483,647)字节。 http://msdn.microsoft.com/en-us/library/ms187993.aspx

如果您不想在此时将文档重构出数据库,则可以使用压缩对数据进行快速解决:

http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx

我怀疑Sql Server是否正在破坏您的文件,但使用gzip算法可能会帮助您找到错误。

将文件存储在文件系统中并将该文件的引用存储在数据库中是不是更有意义? 在数据库中存储20MB文件听起来可能会导致一些性能问题。

遵循以文档为中心的方法,而不是将PDF文件和图像等文档存储在数据库中,当您开始看到数据库的各种性能问题时,最终必须重构它。 只需将文件存储在文件系统中,并将路径放在数据库的表中。

但是,您可能已经在处理此问题,因此请查看本文。

http://chiragrdarji.wordpress.com/2007/08/31/storing-and-retrieving-docpdfxls-files-in-sql-server/

它解释了varbinarary的最大限制是2提高到31个字节是你可以存储在sql server 2005中。

你不应该在SQL Server 2005中使用VARBINARY(Max)用于大型二进制数据吗?

上述就是C#学习教程:在SQL Server 2005 IMAGE列中存储20 Meg文件的最有效方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1031679.html

发表评论

邮箱地址不会被公开。 必填项已用*标注