摘 要: 在開發(fā)系統(tǒng)軟件過程中,經常需要對多種類型文件進行上傳和讀取操作,通常采用兩種方法來存儲不同類別的文件。文中對比了這兩種方法的優(yōu)缺點,并采用了基于ASP.NET和SQL Server數據庫平臺將不同類型的數據保存在數據庫中的方法,詳細介紹了如何在此平臺下進行不同類型數據的上傳和讀取,給出了SQL數據結構及實現(xiàn)代碼。
關鍵詞: ASP.NET; SQL Server; 二進制; 上傳與讀取
中圖分類號:TP311 文獻標志碼:A 文章編號:1006-8228(2013)03-29-03
0 引言
在開發(fā)系統(tǒng)軟件過程中,經常會遇到需要存儲各種類型的數據,如不同類型的文檔、圖片、音頻數據等。我們通常采用兩種方法來存儲這些不同類型數據:把文件保存在服務器的文件系統(tǒng)中,而把文件名保存在數據庫字段中;或直接保存在數據庫的字段中。
如果把文件保存在服務器的文件系統(tǒng)中,而把文件名保存在數據庫字段中,這種方法比較簡單;如果把文件名保存在數據庫中則會需要編寫更多的代碼,這種方法修改數據不需要與數據庫打交道,可以直接更改文件。由于后者并沒有真正把數據保存在數據庫中字段中,使用中則會遇到很多問題:有悖于數據的完整性規(guī)則,直接保存在硬盤上的文件容易被誤操作而刪除;另外,使用文件系統(tǒng),一旦操作系統(tǒng)被非法用戶訪問就會不要授權而直接訪問數據文件。如果把數據保存在數據庫中,通常對數據庫的安全性要求較高,對數據的訪問和修改需要授權。
我們采用將數據保存在數據庫的字段中的方法。所采用的數據庫為SQL Server2000。SQL Server2000數據庫供了一種image的數據類型,可以用來存放大容量類型數據,最大容量為2GB,能夠存放大量的不同類型數據。開發(fā)平臺為VS.NET2005,開發(fā)工具使用ASP.NET,編程語言采用C#語言。本文介紹了基于ASP.NET和SQL Server2000情況下將數據直接存儲在數據庫內的不同類型文件的上傳和讀取的具體實現(xiàn)過程。
1 數據庫設計
1.1 數據庫序列對象
為了實現(xiàn)ID的自動增加,建立數據庫序列對象如下:
標識:是
標識種子:1
標識遞增量:1
1.2 表的設計
數據表的設計如表1所示。
2 文件的上傳
2.1 上傳界面
上傳界面如圖1所示。
2.2 文件的上傳
4 結束語
當開發(fā)系統(tǒng)軟件需要上傳和讀取二進制數據時,我們需要考慮采用何種方法保存數據。如果我們把文件存儲在數據庫中,那么就需要懂得更多的數據知識。在本文中,我們分析了基于ASP.NET和SQL Server 2000情況下將不同類型數據保存到數據庫中,以及如何對其進行讀取。
參考文獻:
[1] 曹錳.C#與ASP.NET程序設計[M].西安交通大學出版社,2005.
[2] 歐立奇.Visual C#.NET案例開發(fā)集錦[M].電子工業(yè)出版社,2005.
[3] 童愛紅.Visual C#.NET應用教程[M].清華大學出版社,2004.
[4] 劉曉華.SQL Server 2000數據庫應用[M].電子工業(yè)出版社,2003.
[5] 王華杰.精通C#數據庫開發(fā)[M].清華大學出版社,2002.