在SQLServer2005IMAGE列中存储20个Meg文件的最高效方式我们将文档存储在SQLServer2005数据库表中,列格式为“图像”。每次我尝试存储大于1兆的PDF文件时,它都会以某种方式损坏。.NET中是否有任何特别有效的方法将大文件(~10megs)序列化并存储到数据库中?[编辑]Microsoft实际上表示对于从0到2^31-1(2,147,483,647)字节的可变长度二进制数据,最大文件大小约为2G。http://msdn.microsoft.com/en-us/library/ms187993.aspx如果此时您不想从数据库中重建文档,可以使用压缩对数据进行快速修复:http://msdn.微软。com/en-us/library/system.io.compression.gzipstream.aspx我怀疑SqlServer是否损坏了您的文件,但使用gzip算法可能会帮助您找到错误。将文件存储在文件系统中并将对该文件的引用存储在数据库中不是更有意义吗?在数据库中存储一个20MB的文件听起来可能会导致一些性能问题。遵循以文档为中心的方法,而不是将PDF文件和图像等文档存储在数据库中,当您开始看到数据库的各种性能问题时,您最终将不得不重构它。只需将文件存储在文件系统中,并将路径放入数据库中的表中。但是,您可能已经在处理这个问题,所以请查看这篇文章。http://chiragrdarji.wordpress.com/2007/08/31/storing-and-retrieving-docpdfxls-files-in-sql-server/它解释了varbinarary的最大限制是2提高到31字节是你可以存储在sqlserver2005中。您不应该在SQLServer2005中对大型二进制数据使用VARBINARY(Max)吗?以上就是C#学习教程的全部内容:在SQLServer2005IMAGE栏中存储20Meg文件的最有效方法。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处:
