您的位置:首页精文荟萃软件资讯 → 用SQL Server为Web浏览器提供图像1

用SQL Server为Web浏览器提供图像1

时间:2004/10/7 19:18:00来源:本站整理作者:蓝点我要评论(0)

微软SQL Server数据库服务器能够在SQL数据库里保存图片和大量的文本。图片和文本使用的数据类型分别是image图

片类型和text文本类型。假如使用VB或VC开发前端应用程序,在windows操作系统上运行,那么可以容易地从SQL数据库

提取图片数据,把它放入一个文件,并在屏幕上显示出来。但是,要是想从SQL Server得到图片,并在Web浏览器里显示,

就不那么容易了。虽然在微软SQL Server 6.5里提供了Web助理和存储过程 sp_makewebtask、sp_runwebtask,它们能够把

SQL数据库里的数据转化成HTML文件,但是我们有更好的解决办法。使用Web助理的一个问题是,它不接受图片数据类型的

字段。另一方面,存储过程 sp_makewebtask 的参数太多,很难使用,而且也很难对Web页面进行自定义。



    我们在这里提供了一个解决方案,把图片从SQL数据装载到Web浏览器,这个方案要比sp_makewebtask好。我们用一个

ActiveX 动态链接库和ASP页面开发了一个Web项目。动态链接库负责打开到保存图片的SQL数据库的连接,从数据库提取图

片并把它们保存在临时文件里。ASP和动态链接库进行通信,取得临时图片文件的位置。这样,当访问者点击Web站点时,

图片就会下载到他的浏览器。在这篇文章里,我们要介绍设置SQL数据库的步骤。然后,我们还要介绍如何利用VB5和活动

数据对象ADO 1.5建立ActiveX动态链接库。最后,我们还要讨论建立ASP Web项目、连接到SQL数据库以及编写ASP文件的处

理过程。



设置SQL数据库



    这篇文章里使用的数据库非常简单,只包含一个表,名字叫Products,代表普通小杂货店里的各种不同的商品。设置

数据库的第一步是建在微软SQL Server里建立一个数据库设备(译者注:在SQL Server 7.0里,数据库设备的概念已经取

消) 。虽然可以编写SQL脚本来设置数据库,但是使用SQL企业管理器操作更容易些。打开企业管理器,在树中选择数据库

设备(Database Device)。单击鼠标右键,在快捷菜里选择新建设备(New Device)。在名称(Name )字段里,输入

Grocevb_dev,把这个设备的大小设置为2MB。然后,单击建立(Create Now ) 按钮,就建立了数据库。接着,用同样的

方法建立另一个数据库设备,作为日志文件。给这个设备起名叫Grocevb_log ,把它的大小设置为1MB。



下一步,需要建立一个新的数据库。在树中选择数据库(Database),单击右键。然后,在弹出菜单里选择新建数据库

(New Database)。在建立新数据库对话框里,输入数据库名称 grocevb,并从下拉列表里选择前面建立的Grocevb_dev

作为数据设备, Grocevb_log 作为日志设备。然后,单击建立(Create Now)按钮,数据库就建立了。我们暂时忽略有关

数据库安全性、数据库备份、用户访问等方面的问题,因为它们跟这篇文章没有直接的关系。



我们建立的数据库只有一个表,表名是Products。在这个表里有几个字段,其中,有两个字段prod_image 和

prod_imagetype 需要特别说明。prod_image 字段的数据类型是image图片,在这个字段里保存某个产品的图片。

prod_imagetype 字段保存图片的类型,比如.gif 或 .jpg,这是在互联网上最常用的两种图片类型。这个表的主关键字是

prod_id,它是非集簇的索引。这样,每个图片都有一个唯一的 prod_id。在 列表 A里给出了建立 Products 表的SQL脚

本。在这个表里,只放了四个产品,用于本文演示。



列表A:建立products表的脚本。



/** 用来建立ImageLoader VB动态链接库使用的产品表。**/

CREATE TABLE Products

(

    prod_id  int  CONSTRAINT pk_prod PRIMARY KEY NONCLUSTERED IDENTITY(1, 1),

    categ_id  int  NULL  CONSTRAINT fk_prod REFERENCES categories(categ_id),

    prod_name  char(80) NOT NULL UNIQUE   NONCLUSTERED,

    prod_unitprice  money  NOT NULL,

    prod_unitquant  char(15)  NOT NULL,

    prod_desc  varchar(255) NULL   DEFAULT ('unknown'),

    prod_imagetype  char(3)  NOT NULL,

    prod_image image  NOT NULL,)

GO




相关阅读 Mac访问Windows共享文件夹Windows 7正版系统验证方法windows 8.1系统版本号查看方法Windows 8.1系统电话激活时无法输入微软返回代码解决方法Windows 8如何调整屏幕分辨率windows8.1磁盘占用100%解决方法Mac双系统如何删除Boot Camp安装的Windows分区Apple教你如何在Mac 上运行 Windows

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本