2011-09-03 74 views
1

我想將流視頻保存到我的數據庫中,我想知道SQL-Server中的數據類型適合保存視頻流嗎?將視頻流保存到數據庫的表中

編輯:請注意,我使用EF4作爲我的項目ORM。

任何建議將優雅。

謝謝。

+2

您希望將視頻本身保存在數據庫中的任何特定原因,而不僅僅是指向它的指針(如文件名)? – BrokenGlass

+1

這不是一個網絡應用程序,原因是我不希望用戶可以直接訪問文件。這就是爲什麼我想將它們存儲在數據庫中。 – saber

+0

那麼,有什麼建議嗎? – saber

回答

1

對於存儲BLOB(如視頻數據),您可以在實體框架支持的SQL Server 2005中使用varbinary(MAX)數據類型。

請記住,每當您加載包含此列的實體時,EF會嘗試將您的完整視頻完全加載到內存中,EF中沒有字節流模式 - 這意味着這不僅不能很好地擴展,而且會影響多個用戶由於記憶要求也變得不可行,並且表現不佳。不要這樣做 - 我會努力尋找更好的替代品。

+0

+1謝謝,你建議我做什麼? – saber

+1

@ s.amani:基本上沒有太多可以做的事情,因爲這是一個桌面應用程序 - 無論您是否喜歡,用戶已經可以訪問您的視頻。您唯一能做的就是讓它變得更難,即您可以加密視頻並在您將視頻標題存儲在單獨位置時將其解密,並在運行時將其與視頻的其餘部分結合使用。根據視頻文件格式的不同,這可能也可能不可行。 – BrokenGlass

+0

你提出了一個奇妙的提示,分離它的數據是一個好主意。 – saber