将文件夹保存到数据库中

红衣老大 2015-09-26 12:24:52
文件夹内容很少,不压缩的时候小于500kb 压缩后只有10Kb+

是不是
先压缩为 zip 文件
然后,像保存图片那样保存二进制到数据库中

另外 数据库字段格式 选择什么? image 还是什么?


请帮我确认一下
...全文
221 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
红衣老大 2015-10-01
  • 打赏
  • 举报
回复
引用 9 楼 yenange 的回复:
https://msdn.microsoft.com/zh-cn/library/ff929144.aspx 建议你升级数据库到SQLServer2014, 用最新的 FileTable
东西挺好 但不能使用 不能为了他,迁移太多东西,得不偿失
吉普赛的歌 2015-09-29
  • 打赏
  • 举报
回复
https://msdn.microsoft.com/zh-cn/library/ff929144.aspx 建议你升级数据库到SQLServer2014, 用最新的 FileTable
红衣老大 2015-09-26
  • 打赏
  • 举报
回复
关于 被保存后 细节调整的问题考虑过,结果是不需要 因为内容够少,如果需要更新,那就批量重新提交好了
  • 打赏
  • 举报
回复
引用 5 楼 xiaobingking 的回复:
大哥 SQLFileStream 是2008 的 暂时用不上 还是 varbinary(MAX) 吧
嗯应该是 SQL Server 2008以上版本支持的新功能。尽量鼓捣着用户区升级数据库系统版本,毕竟2008也已经是好多年前发布的了!有些新功能对性能有特别大的影响,有时候就能让你的软件系统的性能表现能够秒杀别的公司的产品,代码更简单,还能让你的同事看不懂你的代码(:-) 实在搞不定用户,再选择保守。
  • 打赏
  • 举报
回复
实际上,如果站在系统设计角度考虑,我会把“文件夹”作为一个管理的对象,在数据库中保存的是文件夹以及其下面的文件、二个级别的对象,及其组合关系。而不采用压缩,因为压缩就会影响许多功能设计。 但是你没有说背景,所以这个也就不多说。只是提醒你,或许你需要调研清楚了需求,预见到2、3个月以后的需求,假设以后有更为细致的对文件夹下具体内容的功能需求,那么你压缩的想法可能就反而是给自己找麻烦的,因为无法支持这些细节。预见到2、3个月以后的需求,即使保守一些的设计也是好的,免得以后被人指责。
红衣老大 2015-09-26
  • 打赏
  • 举报
回复
大哥 SQLFileStream 是2008 的 暂时用不上 还是 varbinary(MAX) 吧
红衣老大 2015-09-26
  • 打赏
  • 举报
回复
你看看 问了就比不问强。 思路就是个 压 存 细节 就有差别了 我先看看 varbinary(max) FILESTREAM去 stream 还是很方便的
  • 打赏
  • 举报
回复
如果内容很少,用 byte[ ] 是最高效的(不需要考虑流式操作的益处),那么你使用 varbinary(max) 类型的字段即可。
  • 打赏
  • 举报
回复
既然你在业务逻辑上可以支持“压缩为zip文件”,那么你只要去搞明白“如何把单个文件保存到数据库”就行了。反过来说,可能你在业务用例、接口规格上还会存在一些变数,还没有谱。 如果你使用 SQL Server,那么它直接支持文件类型的字段,例如你可以将一个字段定义为 varbinary(max) FILESTREAM 类型。然后你在 ado.net 程序中就可以使用 SQLFileStream 来进行流式的读写,包括可以随机位置的 Seek 操作。 这样,就跟各种高级的针对 Stream 的操作(例如压缩/解压缩)代码直接对接了,而不需要什么更多的中间环节的设计了。(特别是,当你自己设计中间环节是,你往往不太有耐心去设计为流式 stream 处理的,这很可能就会懒用内存、冗余操纵过多)
ajianchina 2015-09-26
  • 打赏
  • 举报
回复
针对你的这一情形,毫无疑问应该先压缩后存入数据库,至于选什么sql数据类型,可以image也可以varbinary,两者都是可变长度的二进制数据,都最多存2GB,不过建议选用varbinary,因为未来新版本的sqlserver或许不会存在image类型了。

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧