【问题标题】:How to store a zip file in sql server table如何将 zip 文件存储在 sql server 表中
【发布时间】:2020-03-12 00:28:42
【问题描述】:

我有一个问题,我不知道该怎么办。我正在创建一个应用程序,用户可以在其中上传 zip 文件。我想将此文件存储在我的数据库中。在谷歌上,我找不到任何真正的解决方案。在我的数据库中,我创建了一个 varchar(max) 字段来存储它。我正在使用 C# 和 SQL Server 2008 R2。有什么解决方案或指南可以提供给我。 >

【问题讨论】:

  • 文件有多大? nvarchar 对尝试 blob 或 clob 数据类型没有帮助
  • 您应该对此进行更多研究。搜索文件表或文件流。
  • 由于ZIP文件是二进制文件,你需要使用VARBINARY(MAX)——而不是VARCHAR(MAX)(这是一个文本 数据类型!)
  • @NikiteshKolpe 感谢您在 Google 中的评论我读到了有关 blob 但如何使用这不是我发现的任何关于此的好文章。
  • 最终,数据库并不是平面文件的最佳存储,尽管它当然可以做到;你可能想看看FILESTREAM,它在 RDBMS 世界和文件世界之间妥协。

标签: c# sql-server-2008


【解决方案1】:
  1. 您不能在数据库中使用与 nvarchar 相同的文件。将列数据类型更改为 varbinary。
  2. 从您需要将文件转换为 byte[] 的代码,如下所示。

    byte[] bytes = System.IO.File.ReadAllBytes(filename);

  3. 现在像往常一样将它保存到数据库中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 2014-07-07
    • 2013-05-09
    • 1970-01-01
    • 2021-11-22
    • 2017-06-01
    相关资源
    最近更新 更多