CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站

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

作者: cyw,  出处:IT专家网, 责任编辑: 李书琴, 
2008-03-13 03:04
  SQL Server:存储图像和BLOB文件(三)要集中讨论了VARBINARY(MAX)数据类型。本文第一部分的代码例子将图像加载到数据库,然后通过使用aspx页面对该图像进行检索和显示。本文将创建一个基于网络的应用程序用来将图像插入到SQL Server里。

  【IT专家网独家】

  内容提要

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

  SQL测试数据库

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

  USE master;
  GO
  CREATE DATABASE BLOBTest3;
  GO
  USE BLOBTest3;
  GO
  CREATE TABLE BLOBFromWeb
  (
  BLOBData varbinary(max)
  );
  GO

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

  CREATE PROCEDURE WebUp
  (
  @FileData varbinary(max)
  )
  AS
  INSERT INTO BLOBFromWeb
  (BLOBData)
  VALUES
  (@FileData);

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

  从网页将图像插入到SQL Server

  本例将使用Microsoft Visual Studio 2008来创建一个网页表单,该表单会要求终端用户浏览并上传文件到SQL Server。这个应用程序也可以在Visual Studio 2005中使用。首先,创建一个新网站和一个代码分离的aspx页面,如下图所示,拖动FileUpload和按钮控制到该表单上。

共4页。 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i