用于在SQL Server 2000中存储视频的数据类型

时间:2008-12-14 09:53:50

标签: sql sql-server types

在sql server 2000中用于存储视频文件的数据类型是什么?

5 个答案:

答案 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中。

目前,当有文件系统可用时,我无法想到真正将数据存储在数据库中的理由。你有什么?