SQL Server为Web浏览器提供图像

2016-01-29 15:46 15 1 收藏

SQL Server为Web浏览器提供图像,SQL Server为Web浏览器提供图像

【 tulaoshi.com - SQLServer 】

微软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)按钮,数据库就建立了。我们暂时忽略有关数据库安全性、数据库备份、用户访问等方面的问题,因为它们跟这篇文章没有直接的关系。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

我们建立的数据库只有一个表,表名是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
建立ActiveX 动态链接库

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

  使用 VB 5.0,我们要开发一个ActiveX 动态链接库。这个动态链接库让我们能够连接到SQL数据库,提取图片数据,并把它们保存成文件,放在目录里。要建立动态链接库,请在打开VB程序之后执行下列步骤:首先:在文件(File)菜单里,选择新建项目(New Project)。接着,在新建立项目对话框里,双击ActiveX DLL 图标。VB自动地向项目里增加一个类,叫做Class1。然后,在属性容器里,双击名称(Name)属性,把它改成clsImageLoader,保持instancing 属性为缺省值MultiUse不动。最后,在项目(Project)菜单里,选择Project1 属性,打开项目属性对话框。选择通用(General)选项卡,把项目名称改为ImageLoader。其它字段可以不管,保持原样。单击确定(OK)完成对ImageLoader 这个工程的设置。

  在类里,写入了5个Let属性,1个Get属性(只读)和两个方法。Let属性传递动态链接库需要的

来源:http://www.tulaoshi.com/n/20160129/1496443.html

延伸阅读
今天一个朋友电话过来咨询我有关 Windows Server 2003 32bit 企业版最大支持的物理内存容量,主要是因为正在运营的一台数据库服务器内存使用达到 2G,服务器效率非常低打算扩展内存,为 SQL Server 提供更多的内存。 经过确认,服务器是 HP G3 系列支持 PAE,即物理地址扩展,服务器应该最大支持 32GB,而 Windows Server 2003 32bit...
标签: SQLServer
  摘要:本文介绍了如何使用 Microsoft SQL Server 2000 的 XML 功能将现有的存储过程代码作为 Web 服务提供。 目录 简介 SQL Server 2000 中的现有代码 总结 简介 Microsoft® SQL Server™ 2000 的 XML 功能可以简化将现有代码作为 Web 服务提供的任务。本文集中讨论了传入和传出 Transact SQL 代码的数据与 XML ...
一、简介 Microsoft SQL Server 2000的 XML功能可以简化将现有代码作为 Web服务提供的任务。本文集中讨论了传入和传出 Transact SQL代码的数据与 XML消息(在 Web服务客户机和服务器之间使用)之间的转换。 二、SQL Server 2000中的现有代码 SQL Server 2000的 XML功能简化了将现有 Transact SQL代码作为 Web服务提供的过程...
KK浏览器怎么设置为默认浏览器   KK浏览器怎么设置为默认浏览器?每个小伙伴手机里都应该有一个或者两个浏览器吧?用惯了自己下载的浏览器有时候系统会自动换回手机的默认的浏览器,很烦吧?好多小伙伴说不知道怎么设置自己用习惯的浏览器为默认浏览器,不知道怎么设置没关系,现在小编就教小伙伴们KK浏览器怎么设置为默认浏览器。 ...
标签: 浏览器
如何取消搜狗浏览器为默认浏览器?   我们可以通过设置其他自己喜欢的浏览器来代替搜狗为默认浏览器,首选我们打款360.点击右侧更多按钮 点击 找到浏览器一栏,在这里可以选择自己喜欢的浏览器来代替搜狗浏览器哦。 为了防止搜狗自动弹出设置为默认浏览器选择,我们再把它去掉这个提醒。在搜狗导航点击工具。...

经验教程

568

收藏

21
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部