亲爱的所有 如何插入媒体文件,如* .mepeg或* .MP3,在..... SQL Server文件插入媒体文件
插入媒体文件
回答
USE pubs
CREATE TABLE mycustomertable
(
user_login DEFAULT SUSER_SID,
data_value
)
INSERT mycustomertable (data_value)
VALUES (0x4F)
如果您发布代码或XML,请**在文本编辑器中突出显示这些行,然后单击“代码”按钮(101 010)在编辑器工具栏上进行良好的格式化和语法突出显示! – 2010-10-13 19:09:48
我倾向于同意@JoshD,但是如果你要必须在数据库中存储二进制文件如数字视频/音频,SQL Server提供了the varbinary
datatype。
请注意,此类型的默认最大长度为8000字节 - 可能没有足够的平均音频/视频文件存储容量。注意使用的varbinary(max)
为比8K极限更大的数据:
max指示最大存储 大小为2^31-1字节。
如果有问题的数据库有DBA(例如,在您的工作地点),那么您将无限期地与他/她讨论使用varbinary并突破8K限制的问题。这应该没问题,但那是由该系统的负责人管理的。 – David 2010-10-13 18:08:21
@David同意!再说一遍,我几乎不推荐上述方法来存储其他地方的大文件,但了解它的存在很有用。 :) – 2010-10-13 18:09:42
- 应该将文件存储在数据库中吗? To BLOB or Not to BLOB:
研究表明,如果对象 比上 平均一兆字节大,NTFS有着明显的优势 在SQL Server中。如果对象是在256千字节以下的 ,则数据库具有 的明显优势。在此范围内,它取决于系统中的写入密集型工作负载以及典型副本的存储时间。
- filestream怎么样? FILESTREAM Storage in SQL Server 2008。
有这个简单的话题更多的问题,当一个人开始考虑高可用性和灾难恢复能力的要求,需要有一个一致的备份恢复策略,媒体是否通过HTTP接口访问的问题从数据库返回内容的URL的处理开销,等等。
但要回答这个天真的问题:将媒体文件作为VARBINARY(MAX)
列存储在数据库中。你在客户端操作它们为SqlBinary
类型。在处理大型BLOB时,必须使用流式语义,如使用CommandBehavior.SequentialAccess
(如Retrieving Large Data (ADO.NET)中所述)。如果需要Win32 API访问,则必须使用FILESTREAM类型。有关该主题的更多阅读材料,样本号为SQL Server Binary and Large-Value Data (ADO.NET)。
哦,在我忘记之前:您还需要列来存储文件元数据,如其名称和类型。如果媒体通过HTTP响应进行流式传输,则需要添加content-disposition
和content-type
标头。
+1为非常全面的答案! – 2010-10-13 18:39:04
- 1. RichTextBox插入媒体文件(如视频)
- 2. tinymce媒体插件
- 3. tinyMCE媒体嵌入,与媒体插件在PHP + MySql
- 4. 媒体上传插入后没有插入文本字段
- 5. ngCordova媒体插件异常
- 6. Facebook社交媒体插件
- 7. Ionic 2媒体插件
- 8. CakePHP媒体插件和SWFUpload
- 9. Windows媒体中心插件
- 10. CakePHP的媒体插件
- 11. Windows媒体服务插件
- 12. WordPress的媒体按钮“插入后”不返回文件的URL
- 13. 嵌入远程媒体文件
- 14. Hadoop流媒体与zip输入文件
- 15. 用离子扫描媒体文件使用文件cordova插件
- 16. 无媒体嵌入推文
- 17. 插入非媒体(pdf,txt,doc)android
- 18. Wordpress插入媒体停止工作
- 19. 流媒体插入和表装饰
- 20. jQuery的媒体插件与替代媒体播放器问题
- 21. phonegap 4.0媒体插件ReferenceError:媒体未定义
- 22. 附加组件媒体中心插件
- 23. CakePHP中的媒体文件转换器插件/组件
- 24. PHP媒体存储,媒体输入页
- 25. 处理媒体文件 - IOS
- 26. iOS流媒体MP3文件
- 27. 流媒体音频文件
- 28. 媒体文件失败Django
- 29. 加载媒体文件
- 30. WCF流媒体文件
什么版本的SQL Server? 2008年添加了FileStream,这是一种将文件系统和数据库进行存储的混合体。否则,您需要存储二进制数据,通常在数据库中称为BLOB ... – 2010-10-13 18:09:10