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。


猜你喜欢
- 下面这些命令可以在命令行下用isql执行,isql -E -Q "命令",isql.exe
- 什么是php: PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,
- 上传控件基础知识说明:上传控件(<input type="file"/>)用于在客户端浏览并上传文件,用户选
- 本文记录django中如何使用celery完成异步任务。Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一
- 首先必须将权重也转为Tensor的cuda格式;然后将该class_weight作为交叉熵函数对应参数的输入值。class_weight =
- 为什么要用flash呢?动画流畅,视觉效果好缓存能力强那使用flash有什么问题呢?需要Flash播放器在M$的补丁打遍天下之前IE有那神奇
- 前言在之前开发vue2项目中,props 属性在组件中经常使用来进行组件通信。现在在开发vue3项目的过程中,我们开发小组渐渐的减少prop
- 需求背景女朋友的论文需要爬取YouTube视频热评,但爬下来的都是外文。主要设计 读取一个表格文件,获取需要翻译的文本
- 刚开始学习python,python相对于java确实要简洁易用得多。内存回收类似hotspot的可达性分析, 不可变对象也如同java得I
- 前言:jieba是优秀的中文分词第三方库,由于中文文本之间每个汉字都是连续书写的,我们需要通过特定的手段来获得其中的每个词组,这种手段叫做分
- 一、前言作为一个数据库爱好者,自己动手写过简单的SQL解析器以及存储引擎,但感觉还是不够过瘾。<<事务处理-概念与技术>&
- 一、前言假设现在有一个应用场景,需要对文件系统进行监控,发生变化时产生日志,对新增的文件做一些相应的操作。比如说应用到我们之前的音乐高潮提取
- 目录前言创建组件总结前言Vue3 增加了很多让人眼前一亮的特征,suspense 组件就是其中之一,对处理异步请求数据非常实用,本文通过简单
- 【代码示例】 [code=SQL] DELIMITER $$ DROP FU
- FastApi快速构建一个web项目已经使用FastApi很久了。这个一个非常优秀的框架。和flask一样能够快速构建一个web服务。开发效
- 先看下面一段代码:for(var i=0; i<10; i++) { $('#ul').bind('click
- 说明1、通过特征本身的方差来筛选特征。特征的方差越小,特征的变化越不明显。2、变化越不明显的特征对我们区分标签没有太大作用,因此应该消除这些
- 1 引子 Java,C#等各种高级语句的开发工具琳琅满目,争放异彩。但作为AJAX的主角的JavaScri
- 字典类型是Python中最常用的数据类型之一,它是一个键值对的集合,字典通过键来索引,关联到相对的值,理论上它的查询复杂度是 O(1) :&
- pycharm确实要比Spyder功能全面,但是anaconda的环境配置实在太方便了,所以想take both,其实很简单,利用pycha