C# 将文件添加到SQL Server表中
我有一个在线用户准入门户,其中我有4个简历栏——父亲、母亲、监护人和申请人。用户在申请特定课程时上传这些简历。我应该使用哪种方法将这些上传的简历(文件采用C# 将文件添加到SQL Server表中,c#,sql,sql-server,C#,Sql,Sql Server,我有一个在线用户准入门户,其中我有4个简历栏——父亲、母亲、监护人和申请人。用户在申请特定课程时上传这些简历。我应该使用哪种方法将这些上传的简历(文件采用.docx格式)存储到我的数据库中 我有一个上传程序,我创建了一个文件夹,然后将.docx文件保存到这个文件夹中,并将文件路径存储在文件路径表列中 或 我有一个varbinary(MAX)类型的列,并将.docx文件本身存储在此列中 哪种方法更安全、性能更好?我想看看如何使用 FILESTREAM使基于SQL Server的应用程序能够存储
.docx
格式)存储到我的数据库中
.docx
文件保存到这个文件夹中,并将文件路径存储在文件路径
表列中
或
varbinary(MAX)
类型的列,并将.docx
文件本身存储在此列中
哪种方法更安全、性能更好?我想看看如何使用 FILESTREAM使基于SQL Server的应用程序能够存储非结构化数据 文件系统上的数据,如文档和图像。应用 可以利用丰富的流式API和文件性能 系统之间的事务一致性,同时保持 非结构化数据和相应的结构化数据
与其将文件存储在数据库中的列中,我还可以看看如何使用 FILESTREAM使基于SQL Server的应用程序能够存储非结构化数据 文件系统上的数据,如文档和图像。应用 可以利用丰富的流式API和文件性能 系统之间的事务一致性,同时保持 非结构化数据和相应的结构化数据 我更喜欢选项#2,因为这样你的简历就包含在数据库中,你就不必担心备份数据库之外的外部文件。我认为这个选项也更安全,因为您也不必担心NTFS权限。很多时候,SQL Server被放置在app/web和SQL Server之间的防火墙后面。从这个意义上讲,您的数据更安全。这取决于基础架构的体系结构 请记住,数据库可能会变得非常大,您必须注意查询性能。如果做得好,一点问题都没有。我更喜欢选项2,因为这样你的简历就包含在数据库中,你就不必担心备份数据库之外的外部文件。我认为这个选项也更安全,因为您也不必担心NTFS权限。很多时候,SQL Server被放置在app/web和SQL Server之间的防火墙后面。从这个意义上讲,您的数据更安全。这取决于基础架构的体系结构
请记住,数据库可能会变得非常大,您必须注意查询性能。如果操作正确,就不会有任何问题。在我看来,最好保存在文件系统中,并在表上保存路径。以实现数据库卷的最大化。我完全反对将byte[]保存在数据库中。但这是我个人的观点,尽管我已经看到了。在我看来,最好是将byte[]保存在文件系统中,并将path保存在表中。以实现数据库卷的最大化。我完全反对将byte[]保存在数据库中。但这是我个人的观点,尽管我看到了。先生,这意味着我已将docx文件本身保存在表列中,并从前端(c#)读取它。这还取决于文件大小和使用模式
FILESTREAM
是为大文件(平均大于1MB)而设计的,先生,这意味着我已将docx文件本身保存在表列中,并从前端(c#)读取它。这还取决于文件大小和使用模式FILESTREAM
是为大文件(平均大于1MB)而设计的