如何使用传统的asp在SQL Server数据库中存储文件?
问题描述:
我正在尝试将文件存储在SQL Server 2008数据库中。由于文件的大小很小,性能不成问题。如何使用传统的asp在SQL Server数据库中存储文件?
我的表有这3列:
filename nvarchar(50)
extension nvarchar(5)
content image
如何写SQL语句来插入一个文件到这个数据库?
答
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这种技术也可以应用于其他类型的二进制数据,而不仅仅是图形。
好运...
第一:我不** **使用'Image' - 这是一个** **已过时的数据类型,使用'VARBINARY(MAX)'代替。另外:对于只有5个字符长度的字符串,'nvarchar'至少有2个字节的开销是不值得的 - 我推荐使用'nchar(5)'代替。 – 2012-08-03 16:26:22
已经尝试过什么,你有什么具体问题?将二进制文件保存在数据库中是一项常见的,记录完备的任务,并且本网站上有许多关于它的问题。 – Pondlife 2012-08-03 20:20:27