存储和检索文件的最佳方法?

时间:2017-03-29 09:54:34

标签: c# sql-server c#-4.0 ftp sql-server-2008-r2

我正在使用 C#4.0 SQL Server 2008 R2 Express 开发应用程序,我的应用程序需要在本地存储和检索文件(docx,pdf,png)远程,哪种方法最好?

  1. 将文件存储在单独的数据库(问题:限制为10 GB)
  2. 使用 Windows共享文件夹(由谁做?)
  3. 使用 FTP服务器(哪个服务器和库以及如何操作?)

1 个答案:

答案 0 :(得分:2)

SQL Server支持FILESTREAM,因此如果您对SQL Server安装有足够的控制权来启用该功能,那么它似乎非常适合您。

  

FILESTREAM通过将varbinary(max)二进制大对象(BLOB)数据存储为文件系统上的文件,将SQL Server数据库引擎与NTFS文件系统集成在一起。 Transact-SQL语句可以插入,更新,查询,搜索和备份FILESTREAM数据。 Win32文件系统接口提供对数据的流式访问。

直接存储在FILESTREAM文件系统中的文件不计入数据库大小,因为它们不存储在数据库中。

与官方来源确认:https://docs.microsoft.com/en-us/sql/relational-databases/blob/filestream-compatibility-with-other-sql-server-features

  

SQL Server Express支持FILESTREAM。 10 GB数据库大小限制不包括FILESTREAM数据容器。