您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關C#中如何讀取BLOB數據,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
什么是 BLOB?
BLOB 是二進制大對象(binary large object)的首字母縮寫,是在 SQL Server 中作為一個單一實體存儲的二進制數據集合。BLOB 主要用于保存多媒體對象,比如圖像、視頻和聲音,但是它們還可以存儲程序,甚至是代碼片斷。雖然 SQL Server 支持 BLOB,但不是所有數據都支持。
C#讀取BLOB數據
有幾種方法可以用來從 SQL Server 數據庫讀取數據。首先,你可以逐行讀取數據;或者,你可以選擇從特定列中讀取數據。最簡單的方法是訪問特定的列,下面我們先討論這種方法。
C#讀取BLOB數據要求工作在字節級。幸運的是,SqlDataReader 對象有一個 GetBytes 方法用于以字節方式訪問一個列的數據。一旦字節被讀取,它們就可以與一個 FileStream 對象組合,以將 BLOB 對象保存到一個文件中。下面的 C#代碼給出了這個例子:
Byte[] blob = null; FileStream fs = null; const string sConn = "server=(local);Initial Catalog=Northwind;UID=ctester;PWD=password"; try { SqlConnection conn = new SqlConnection(sConn); SqlCommand cmd = new SqlCommand("SELECT Picture FROM Categories WHERE CategoryName='Builder'", conn); cn.Open(); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); blob = new Byte[(sdr.GetBytes(0, 0, null, 0, int.MaxValue))]; sdr.GetBytes[0, 0, blob, 0, blob.Length); sdr.Close(); conn.Close(); fs = new FileStream("c:\\Builder.doc", FileMode.Create, FileAccess.Write); fs.Write(blob, 0, blob.Length); fs.Close(); } catch (SqlException e){ Console.WriteLine("SQL Exception: " + e.Message); } catch (Exception e) { Console.WriteLine("Exception: "+ e.Message); }
看完上述內容,你們對C#中如何讀取BLOB數據有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。