SQL 2008 FileStream数据类型
发布时间:2008-10-28 21:07:00
在SQL Server 2008 中,新的FILESTREAM 数据类型,允许像文件和图片这种大型的二进制数据可以直接在NTFS文件系统中进行存储;文档或图片将作为数据库的一部分整体进行维护,并可以维护事务的一致性。FILESTREAM允许大型二进制数据的存储,通常都是由数据库进行管理,并以单独文件的方式在数据库外面进行存储,它可以使用NTFS文件流的API进行访问。使用NTFS文件流API使得文件的访问更加高效,并且可以保持数据库整体的安全性性与备份等特性。
在本实验中,我们将使用FileStream数据类型存储视频文件,并使用代码访问该文件,从而发布在Web上,并使用一个客户端工具进行访问。
创建FILESTREAM存储区
打开C:\SQLHOLS 文件夹,然后打开FILESTREAM目录当中的 “FILESTREAM.ssmssln”文件。
此时,将打开SSMS窗口,并提示连接到服务器,在Server Type中选择“Database Engine”, Server Name中指定”(local)”,然后点击Connect按钮。
返回刚才打开的Windows Explorer 窗口,然后双击DB Data 文件夹。
返回SQL Server Management Studio。
在View 菜单中,选择Solution Explorer。
在Solution Explorer 面板中,双击CREATE DB.sql文件。
查看STEP 1下面的T-SQL语句,选中所有代码,然后点击Execute。
返回Windows Explorer 窗口。
10. 浏览C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA目录,此时,将会看到一个名为‘filestream1’的目录,这是SQL Server 2008 创建出来,用来存储FILESTREAM 数据类型的数据目录。
创建FILESTREAM数据类型
返回SQL Server Management Studio 窗口。
在Solution Explorer 面板中,双击CREATE TABLE.sql文件。
在查询窗口中,选择STEP 2下面的T-SQL语句,然后点击Execute执行代码。
注意,FILESTREAM数据列实际上就是在VARBINARY(MAX)上添加了FILESTREAM属性,并且存储这种数据需要一个uniqueidentifier的数据列作为ID。
选择STEP 3 下面的T-SQL代码,然后执行。
查询FILESTREAM数据
返回Windows Explorer 窗口,并点击工具条上的返回按钮,返回到最开始的FILESTREAM目录。
双击 UploadVideos.bat。
等待上传的结束,然后点击任意键退出命令提示窗口。
返回SQL Server Management Studio 窗口。
选择STEP 4 下面的T-SQL 语句然后执行,将可以看到在数据表中已经有了一些数据,并已经存在FILESTREAM数据。
显示FILESTREAM数据
返回Windows Explorer 窗口。
双击MediaLibrary.sln链接,此时,将打开一个解决方案。
在Solution Explorer中,右键单击default.aspx,点击”View in Browser”。
此时,可以看到一个Web页面,它可以将数据库中刚刚上传的视频加载出来,以列表的方式呈现出来。
点击任意项中的Play 链接。
结束视频播放,关闭Internet Explorer 窗口,返回到视频列表页面中。
点击工具条中的Refresh 按钮。
上传FILESTREAM数据
点击Media Library 页面底部的Browse 按钮。
浏览My Documents -> My Videos ,并选择PGR3_E32005_Xbox360_Video.wmv。
点击Open。
在Comment 文本框中随便输入一些注释。
点击Upload Media按钮。
这时,在列表中将可以看到刚刚上传的视频文件。点击Play 按钮可以查看这个文件。
关闭新打开的Windows Media Player 窗口。
关闭Media Library Internet Explorer 窗口。
查看操作FileStream的程序代码
在Windows Explorer中,双击MediaLibrary.sln。
如果Default.aspx.cs 没有在编辑区域打开,则在Solution Explorer 面板中,右击Default.aspx 文件,然后选择View Code菜单项。
浏览StoreUploadedMediaFile 方法中的9个步骤。
关闭Microsoft Visual Studio 2008。
猜你喜欢
- Google Chrome 的发布,使我们更加的注重基于 WebKit 核心的浏览器的表现情况,但我们很多时候“不小心”就会出现
- 代码如下:'返回某年总共有多少天 Function DayOfYear(ByVal y) DayOfYear = DatePart(
- 一扯上文化二字,总觉虚无缥缈、漫无边际,或者老气横秋,如何有趣地利用中华文化的思想和符号,结合现代的元素,使其成为有意思的传播手法,这个问题
- 来由:最近的工作一直是学校设计教程的开发,都是自己根据理论知识加一些实际工作经验相结合写的教程,所以不会咬文嚼字,文笔也不一定非常专业和流畅
- 时间格式化函数,代码简单但较实用代码很简单,谁都能看懂Function fmstr(str, str1, Lens) Dim str2For
- 下面十条内容的标题原本是《10 Lessons for Young Designers》,是John C. Jay给年青设计师们的十条经验教
- 站长们是不是还在为空间不支持域名绑定到子目录而发愁呢?买了个便宜也不错的空间,用的还满意,准备再开几个网站,却发现空间程序太落后,无法支持域
- MSDN:包含正在 SQL Server 实例上运行的进程的相关信息。这些进程可以是客户端进程或系统进程。 视图中主要的字段: 1. Spi
- Asp中Server.ScriptTimeOut属性需要注意的一点Server.ScriptTimeout?这个属性给定Asp脚本执行的最大
- 1.彻底弄懂CSS盒子模式一(DIV布局快速入门) 2.彻底弄懂CSS盒子模式二(导航栏实例) 4.彻底弄懂CSS盒子模式四(绝对定位和相对
- 在html 5增加了新元素header、footer,测试过发现IE不能解析html 5新增的元素。代码如下:<!DOCTYPE ht
- Microsoft SQL Server 2005 Mobile Edition 3.0 (SQL Server Mobile) 支持两种与
- 数据库在运行中,会因为人为因素或一些不可抗力因素造成数据损坏。所以为了保护数据的安全和最小停机时间,我们需制定详细的备份/恢复计划,并定期对
- FileSystemObject、Folder 和 File 对象的一些方法都与通过 TextStream 对象创建、读取或写入文件有关。虽
- 最近正在用功的学习jQuery,在琢磨了不少别人写的功能之后,也开始尝试着自己开发一些功能。今天我做了一个简单的密码强度测试工具。这可功能的
- 各位大哥: 在javascript中如何取整?比如: var
- 大名鼎鼎的FCKeditor终于在最近发布新版本了,与增加版本号不同,这次完全把它改名了,更名为CKeditor。这应该是和它的开发公司CK
- 我想让一片文章,每到3000字就分到下一条插入到数据库,求高手 <%Dim Content Conte
- 最近在做学院的选课系统时,在分页上被卡壳了一下,因为需要用到排序,所以不能像以前一样用一个自动递增的字段作为主键,然后仅仅是对这个主键来做统
- 呵呵,先说明一下下面的程序大部分收集自网络,因为本人在asp编程中经常使用到随机函数,所以收集了一些这类的函数,并做了些注释,方便使用。首发