大文件,我已經使用LINQ to SQL中存儲的文件在varbinary(max)
場。 FILESTREAM被激活了,但是當我嘗試存儲與400或500 MB的文件,我得到這個錯誤:問題與儲存在數據庫
Exception of type 'System.OutOfMemoryException' was thrown
我的代碼是:
Dim ByteArray() As Byte = File.ReadAllBytes(OpenFileDialog1.FileName)
Dim tb As New tb_1()
tb._id = System.Guid.NewGuid()
tb._Blob = New System.Data.Linq.Binary(ByteArray)
tb._text = Date.Now
db.tb_1s.InsertOnSubmit(tb)
Dim tb2 As New tb_2
tb2._id = System.Guid.NewGuid
tb2._Master = tb._id
tb2._text = 2
db.tb_2s.InsertOnSubmit(tb2)
db.SubmitChanges()
可能是我得到這個異常的原因和我怎樣才能避免它?
你從哪裏得到錯誤?當你讀入ByteArray或者當你正在執行SubmitChanges時? 我有一個類似的問題讀取大文件和我切換到不同的方法來讀取字節並將其寫入文件,從而不必在內存中的整個文件在同一時間。 不知道你將如何做到這一點,因爲我不得不插入數據庫,在我的情況下,我只是讀和寫一個文件。 – Jay 2009-09-06 12:00:43
在這一行: tb._Blob =新System.Data.Linq.Binary(字節陣列) 我得到的錯誤。 – 2009-09-09 10:28:43