Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将文件添加到SQL Server表中_C#_Sql_Sql Server - Fatal编程技术网

C# 将文件添加到SQL Server表中

C# 将文件添加到SQL Server表中,c#,sql,sql-server,C#,Sql,Sql Server,我有一个在线用户准入门户,其中我有4个简历栏——父亲、母亲、监护人和申请人。用户在申请特定课程时上传这些简历。我应该使用哪种方法将这些上传的简历(文件采用.docx格式)存储到我的数据库中 我有一个上传程序,我创建了一个文件夹,然后将.docx文件保存到这个文件夹中,并将文件路径存储在文件路径表列中 或 我有一个varbinary(MAX)类型的列,并将.docx文件本身存储在此列中 哪种方法更安全、性能更好?我想看看如何使用 FILESTREAM使基于SQL Server的应用程序能够存储

我有一个在线用户准入门户,其中我有4个简历栏——父亲、母亲、监护人和申请人。用户在申请特定课程时上传这些简历。我应该使用哪种方法将这些上传的简历(文件采用
.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)而设计的