WEB开发网
开发学院数据库MSSQL Server SQL Server:存储图像和BLOB文件(三) 阅读

SQL Server:存储图像和BLOB文件(三)

 2008-04-14 09:54:30 来源:WEB开发网   
核心提示:内容提要 在本系列的前面的文章SQL Server:存储图像和BLOB文件(一)和SQL Server:存储图像和BLOB文件(二)中,对BLOB进行了定义,SQL Server:存储图像和BLOB文件(三),并阐明了在什么情况下将这些文件存储在SQL Server内部而不存在文件系统中,此外,接下来的例子都将会使用存

内容提要

在本系列的前面的文章SQL Server:存储图像和BLOB文件(一)和SQL Server:存储图像和BLOB文件(二)中,对BLOB进行了定义,并阐明了在什么情况下将这些文件存储在SQL Server内部而不存在文件系统中。此外,还通过举例介绍了VARBINARIES的几种不同数据类型,包括本文要集中讨论了VARBINARY(MAX)数据类型。本文第一部分的代码例子将图像加载到数据库,然后通过使用aspx页面对该图像进行检索和显示。本文将创建一个基于网络的应用程序用来将图像插入到SQL Server里。另外,将对前面两篇文章的例子进行扩展和改进。

SQL测试数据库

我们先来创建一个测试数据库和表用来存储图像,T-SQL脚本如下:

  USEmaster;
  GO
  CREATEDATABASEBLOBTest3;
  GO
  USEBLOBTest3;
  GO
  CREATETABLEBLOBFromWeb
  (
  BLOBDatavarbinary(max)
  );
  GO

以上脚本创建了一个包含一个表的数据库,该表只有一列。该测试列“BLOBData”以MAX为关键词,因此无论多大的二进制文件,它都可以存储。接下来,我们创建一个可以存储过程,网页可以使用该存储程序来上传图片:

  CREATEPROCEDUREWebUp
  (
  @FileDatavarbinary(max)
  )
  AS
  INSERTINTOBLOBFromWeb
  (BLOBData)
  VALUES
  (@FileData);

该存储过程会将变量——图像“@FileData”传递到SQL Server。接下来的例子都将会使用存储过程而不再使用SQL语句了。使用存储过程的好处很多,例如可以增强安全性、防止SQL注入攻击、方便使用、提高运行性能等等。

1 2 3 4  下一页

Tags:SQL Server 存储

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接