我有一個存儲不同類型文件(Word文檔,PDF,TIF等)的表的SQL Server 2008 R2數據庫,我可以成功地從數據庫檢索這些文件使用下面的方法:從數據庫檢索壓縮文件
私人無效GetFilesFromDatabase(){ 嘗試 { 常量字符串connStr = @ 「數據源=本地主機\ SQLINSTANCE;初始目錄=邁德特;集成安全性= TRUE;」; //初始化SQL Server連接。 SqlConnection CN = new SqlConnection(connStr);
//Initialize SQL adapter.
SqlDataAdapter ADAP = new SqlDataAdapter("Select ole_id, ole_object From OLE Where ole_id = 21601", CN);
//Initialize Dataset.
DataSet DS = new DataSet();
//Fill dataset with FilesStore table.
ADAP.Fill(DS, "FilesStore");
//Get File data from dataset row.
byte[] FileData = (byte[])DS.Tables["FilesStore"].Rows[0]["ole_object"];
string FileName = @"C:\Temp\Text.doc";
//Write file data to selected file.
using (FileStream fs = new FileStream(FileName, FileMode.Create))
{
fs.Write(FileData, 0, FileData.Length);
fs.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
我正在檢索的這個文件是一個Word Doc文件,根據該特定行中包含的其他信息。當我在將文件檢索到磁盤後嘗試打開文件時,所有數據看起來都是亂碼,無法讀取。現在我相信這些文件在被保存到數據庫之前被壓縮了,但我不知道如何解壓縮它們以便它們可以被查看,以及關於如何完成這些的任何想法?我的最終目標是將這些圖像轉移到另一個數據庫中。
顯然,只要他支付他們檢索文件,開發人員只會幫助我的客戶。我認爲這些文件可能是OLE對象,因爲這是列的名稱,但數據類型是圖像。這確實很奇怪。 –