对于 ASP.NET MVC Web 应用程序,将文本文件存储到 Sql Server 数据库中的最佳方法是什么?
我正在制作一个小型的 asp.net mvc 应用程序。我必须计算来自几个的数据 CSV 文件(5 到 10 个文件)。
应用程序必须提供这些文件的上传和下载操作。
我没有经验的部分是数据库。我应该使用什么类型的色谱柱?文本、图像、二进制?文件的大小将在 80KB 到 500KB 之间
I'm making a small asp.net mvc app. in which I have to compute data from several
CSV files ( between 5 to 10 files).
The application must provide upload and download actions for these files.
The part where I don't have experience is the data base. What column type should I use? text, image, binary ? the size of a file will be betweent 80KB to 500KB
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
类型
TEXT
、NTEXT
和IMAGE
已过时 - 不要将它们用于新开发。它们将从未来的 SQL Server 版本中永久删除。对于 SQL Server 2005 及更高版本,如果您处理纯文本文件(如源代码或 CSV 文件),请使用
VARCHAR(MAX) / NVARCHAR(MAX)
,或者使用VARBINARY(MAX)
如果您正在处理二进制文件。这些允许每个文件最多有 2 GB 的存储空间,并且您可以在它们上使用所有常用的 T-SQL 字符串函数来操作它们(即 (N)VARCHAR(MAX) 字段)。
如果您使用的是 SQL Server 2008,还有一个附加选项 -
VARBINARY(MAX)
列上的FILESTREAM
属性。这允许您将文件存储在 SQL Server 计算机的文件系统(而不是数据库表)中,同时保留事务和数据的完整性。对于大小通常大于 1 MB 的文件,或者您需要超过 2 GB 的文件,建议使用 FILESTREAM(因为您无法在常规
VARBINARY(MAX)
栏)。马克
The types
TEXT
,NTEXT
andIMAGE
are obsolete - do not use them for new development. They will be removed from a future SQL Server version for good.For SQL Server 2005 and up, use
VARCHAR(MAX) / NVARCHAR(MAX)
if you're dealing with pure text files (like source code or CSV files), orVARBINARY(MAX)
if you're dealing with binary files.Those allow up to 2 GB of storage for each single file, and you can use all the usual T-SQL string functions on them to manipulate them (the (N)VARCHAR(MAX) fields, that is).
If you're using SQL Server 2008, there's also an additional option - the
FILESTREAM
attribute onVARBINARY(MAX)
columns. This allows you to store the files in the SQL Server machine's file system (instead of the database tables) while preserving transactional and data integrity.FILESTREAM is recommended for files that are typically and usually larger than 1 MB in size, or if you ever need more than 2 GB (since you can't store more than 2 GB in a regular
VARBINARY(MAX)
column).Marc