我需要创建一个包含带文件或文件路径的单元格的表格,例如,它将用于用户下载pdf的文件。
如果有可能,我会很感激一个实际的例子。
我正在使用MS SQL 2008,VB / ASP.NET
感谢。
答案 0 :(得分:3)
嗯,您有几个选项,具体取决于文件的大小。您可以通过常规表结构(作为BLOB数据)将数据存储在数据库本身中:
CREATE TABLE dbo.FileStorage
(
FileName VARCHAR(255) NOT NULL,
FileType VARCHAR(100) NOT NULL,
FileCOntents VARBINARY(MAX) NOT NULL
)
另一种选择是按照你的说法存储路径:
CREATE TABLE dbo.FileStorage
(
FileName VARCHAR(255) NOT NULL,
FileType VARCHAR(100) NOT NULL
)
最后,使用SQL Server 2008 +中的FileStram功能:
CREATE TABLE dbo.FileStorage
(
FileName VARCHAR(255) NOT NULL,
FileType VARCHAR(100) NOT NULL,
FileCOntents VARBINARY(MAX) FILESTREAM NOT NULL
)
涉及更多设置,但使用.NET文件流支持它,因此从开发角度来看它非常好。这是一个描述更多的链接: https://www.simple-talk.com/sql/learn-sql-server/an-introduction-to-sql-server-filestream/
此外,更多关于何时使用文件流: https://msdn.microsoft.com/en-us/library/hh461480.aspx
答案 1 :(得分:0)
您可以将PDF作为BLOB存储在SQL Server数据库中,但更好的方法是将文件路径存储为字符串。
CREATE TABLE MyFIleInfo(
ID int NOT NULL,
FilePath nvarchar(MAX) NOT NULL
)
在过去几年中,我正在使用Hyland Software OnBase产品(数字成像解决方案),这正是他们存储扫描和其他上传文档的方式。产品非常快,效果很好