如何使用传统的asp在SQL Server数据库中存储文件?

问题描述:

我正在尝试将文件存储在SQL Server 2008数据库中。由于文件的大小很小,性能不成问题。如何使用传统的asp在SQL Server数据库中存储文件?

我的表有这3列:

filename nvarchar(50) 
extension nvarchar(5) 
content image 

如何写SQL语句来插入一个文件到这个数据库?

+0

第一:我不** **使用'Image' - 这是一个** **已过时的数据类型,使用'VARBINARY(MAX)'代替。另外:对于只有5个字符长度的字符串,'nvarchar'至少有2个字节的开销是不值得的 - 我推荐使用'nchar(5)'代替。 – 2012-08-03 16:26:22

+0

已经尝试过什么,你有什么具体问题?将二进制文件保存在数据库中是一项常见的,记录完备的任务,并且本网站上有许多关于它的问题。 – Pondlife 2012-08-03 20:20:27

MS有一篇关于如何使用传统的asp将文件上传到服务器的文章。 (see here)一旦你有你的服务器上的文件,那么你可以将其添加到数据库。

但要记住在数据库中存储二进制数据通常是一个坏主意

但话又说回来,如果它的东西,超小型那就试试吧!例如,我认为你可以将它插入VARBINARY(max)列: 例如:

INSERT INTO YourTable(YourVarbinaryColumn) 
    SELECT * FROM 
    OPENROWSET(BULK N'(name of your file to import)', SINGLE_BLOB) AS import 

另请参见:如何显示BLOB字段存储的图像。 http://support.microsoft.com/kb/173308这种技术也可以应用于其他类型的二进制数据,而不仅仅是图形。

好运...