在sql server 2000中用于存储视频文件的数据类型是什么?
答案 0 :(得分:6)
在大多数情况下,数据库不是视频的理想场所。你可以强制它(varbinary(max)或旧版本的图像),但如果你做这个,你需要非常小心使用steraming访问而不是“全部”访问(如果你明白我的意思)。并且您可能希望视频位于与常规数据不同的文件组(可能是驱动器)上。
在SQL Server 2008中,存在filestream类型,它是db和文件系统之间的混合。也许这会做你需要的?
如果没有,只需使用文件系统。
另一个不在DB中使用视频的原因;如果你有一个小系统,SQL Server Express可能是理想的 - 但有一个数据库大小上限,视频将迅速淹没。
答案 1 :(得分:5)
使用BLOB(二进制大对象)。 Documentation here。更具体:
在SQL Server中,BLOB可以是text,ntext或image数据类型
图片
0到231之间的可变长度二进制数据 - 1(2,147,483,647)字节。
答案 2 :(得分:1)
在SQL Server 2000中,BLOB支持不够好,您应该直接在磁盘上存储文件。在SQL Server 2008中,对数据库中存储文件的支持应该要好得多。我从未尝试过,因为我们已经构建了应用程序来存储磁盘上的文件。但我认为我仍然建议将文件存储在磁盘上,因为它在存储方面提供了更大的灵活性;你可以轻松备份它并移动文件。它还减少了数据库的大小,这可能会使它更快。
因此,请将数据库中的路径和文件系统中的实际文件存储起来。
答案 3 :(得分:1)
我同意Tomalak的观点,即使图片和其他较小的资产在数据库之外也能得到更好的服务。我们的产品仅使用数据库中资产的引用路径,其中数据库充当位置字典。
当然,一个缺点是文件系统和数据库条目之间可能会发生断开连接,因此您需要特别注意如何设置并以持续的方式维护它。
答案 4 :(得分:0)
让自己头痛并将它们存储在文件系统中。将路径存储在DB中。
目前,当有文件系统可用时,我无法想到真正将数据存储在数据库中的理由。你有什么?