SQL Server:存储图片和BLOB文件(四)
2008-04-14 09:54:34 来源:WEB开发网BLOB文件(二进制大对象)是二进制数据,换而言之,就是非文本数据。像MP3、可执行文件、图片等都是BLOB文件。这些类型的文件通常是大型数据库项目的一个组成部分。问题也就随之而来了:要怎样存储这些文件呢?而将它们存到哪里呢?存在文件系统里还是放到SQL Server数据库内部呢?无论采用哪种存储方法,都有其各自的道理。笼统一点说来,如果文件比较小,就将它们存放在SQL Server数据库内部。而且,支持将二进制数据存储在SQL Server内部的另一个原因是有利于事务控制。例如,如果你在进行下一个处理步骤之前需要确认已经更新或删除了某张图片,那可以通过SQL Server内部控制这些过程。而另一方面,如果二进制文件很大,或者是视频流文件,那存储在Windows的文件系统中比存储在SQL Server内部对数据库的性能更有利。再者,文件系统对碎片的处理要优于SQL Server。
在本系列的前三篇文章中,主要为大家介绍了如何将BLOB文件存储在SQL Server内部。第一篇文章SQL Server:存储图像和BLOB文件(一)简单介绍了BLOB的定义和VARCHAR的数据类型家族,并讨论了将BLOB插入到SQL Server的一些简单方法。第二篇文章SQL Server:存储图像和BLOB文件(二)介绍了如何利用Response.BinaryWrite将从数据库读出的图片显示到浏览器网页上。在第三篇文章SQL Server:存储图像和BLOB文件(三)中,通过创建ASPX页面来接受来自网页的图片并直接将其存储到SQL Server当中。本文将为大家介绍第二种存储BLOB文件的方法,也就是把BLOB文件存储到Windows文件系统当中,并利用SQL Server从一个网页对这些文件进行管理。
文件系统实例
首先,我们要构建一个可以用在前面的文章中所举例子的控件——文件上传(File Upload)控件。该控件可以嵌入到网页当中,并搜集文件信息,例如某测试图片的文件名、目录路径,最终将这些信息传递给SQL Server。具体操作就是,创建一个名为FileSystemIn.aspx的代码分离新页面,将四个控件拖拽到该页面上,包括一个文件上传控件、一个按钮控件(button)和两个标签(label),如下图所示:
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接