2012-08-03 67 views
0

我正在嘗試將文件存儲在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

回答

0

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這種技術也可以應用於其他類型的二進制數據,而不僅僅是圖形。

好運...

相關問題