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

豆豆网   技术应用频道   2008年04月14日  【字号: 收藏本文

内容摘要:SQL Server:存储图像和BLOB文件(三)要集中讨论了VARBINARY(MAX)数据类型。本文第一部分的代码例子将图像加载到数据库,然后通过使用aspx页面对该图像进行检索和显示。本文将创建一个基于网络的应用程序用来将图像插入到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注入攻击、方便使用、提高运行性能等等。

来源:IT专家网    作者:cyw    责编:豆豆技术应用

正在加载评论...