当前位置:文档之家› 利用ASP+VBSCRIPT技术开发WEB数据库查询系统

利用ASP+VBSCRIPT技术开发WEB数据库查询系统

利用ASP+VBSCRIPT技术开发WEB数据库查询系统
利用ASP+VBSCRIPT技术开发WEB数据库查询系统

利用ASP蚔BScript技术开发Web数据库查询系统

利用ASP和VBScript技术开发Web数据库查询系统

焦纯李洪义范晓宇陈马丁

摘要:Web数据库查询是网上最普遍的应用之一。而ASP模型是创建服务器端Web应用程序最重要的架构之一。ASP动态网页技术和VBScript脚本语言的结合又使得传统VB程序员在开发Web应用程序时具有较大的优势。本文结合一个Web上课程表查询的实例对ASP和VBScript两种技术的结合使用作了详细的说明,同时对各种开发Web应用程序的方法作了详细的比较。

关键词:ASP VBScript Web应用程序数据库查询ADO

一、ASP的工作机制和环境

ASP(即Active Server Pages)是一种服务器端的脚本开发环境。通过ASP能创建和运行动态、交互和高效的页面组成的Web服务程序。对于程序员,所谓ASP,简单地说,就是在HTML文件中引入了两个扩展的成对的HTML标记〈%和%〉,同时文件的扩展名改为.asp。

同HTML文件一样ASP文件也是文本文件,包括文本、HTML标记和ASP脚本语句(用〈%和%〉界定符标记)。它以.asp为扩展名,区别于一般的HTML文件。任何文本编辑器都可以制作ASP文件。

在传统的静态HTML的模式中,浏览器通过HTTP协议向Web服务器请求页面,服务器收到请求后发送一个页面给浏览器,由浏览器进行格式化并显示数据。这种模式只为用户与Web服务器之间提供了有限的交互,静态HTML的内容必须进行手动的编辑和修改。

HTML语言本身是静态的,要想使其具有交互的动态功能,通常可采用的技术包括:Java,JavaScript,VBScript/ActiveX,CGI,ISAPI/NSAPI等。Java,JavaScript,VBScript/ActiveX是客户端的技术,它们最大的缺点就是浏览器可能根本不支持这种技术,比如网景的Navigator就不支持功能非常强大的VBScipt/ActiveX,即使是已经成为业界标准的Java,一些老版本的浏览器也不支持。而采用公共网关接口CGI及ISAPI/NSAPI等接口,由于它们是服务器端的技术,它们的共同缺点是HTML的编写与程序的编写是分离的,必须用不同的工具分别编写,然后在HTML文件中调用CGI,ISAPI或NSAPI程序,调试比较麻烦。事实上,它们与HTML文件的编写是两个完全不同的设计过程。

作为一种新技术,ASP则不同。ASP是微软公司IIS3.0中的一个组件,它实际上是一个服务器端的脚本环境。当脚本运行在服务器上(注意不是客户机)时,Web服务器完成所有的工作,包括动态生成HTML页面并传送到用户的浏览器上。程序员不必担心浏览器是否能处理你的页面,因为Web服务器已经全部替浏览器完成页面的转化工作,对浏览器而言,见到的还是普通的HTML页面。由此可见,程序员可以通过ASP直接添加可执行的脚本到HTML文件中。这样HTML开发和脚本开发成为同一件事情,使动态交互页面的开发成为一个整体,开发与维护工作变得简单、快捷。程序员可以集中精力于Web站点外观的设计,用一些动态的元素修饰你的页面。

ASP了提供VB SCRIPT和Java SCRIPT两种脚本引擎,缺省为VB SCRIPT。由于ASP采用了与微软公司风靡世界的编程语言Visual Basic一脉相传的VBScript语言,并将其搬到了服务器端,解决了浏览器的兼容性问题,同时又延续了ActiveX的组件思想,用户可以用VB,VC等工具开发服务器端的ActiveX组件,以扩展ASP 的功能。它最大的特点是将VBScript的程序直接嵌入HTML文件中,用任意一个文本编辑器就可以编写一个完整的ASP页面。

综合以上,ASP应用程序具有以下的突出优点:

(1)可以完全同HTML集成。

(2)易于创建,不需要手动编译和连接。

(3)面向对象和易于用ActiveX组件扩展。

(4)对客户端没有特别的要求,只要有一个浏览器就行。

(5)安全性和保密性较好。在IIS接到用户对.asp文件的请求时,首先执行括在〈%和%〉标记间的VBScript 语句,然后将执行的结果和其他的HTML语句一起返回客户端,这样客户看到的仍然是标准的HTML语句,不会看到开发者的编程逻辑,这与客户端的JavaScript是完全不同的,JavaScript没有办法阻止用户看到源码。从而有效地保证了系统的安全性及开发人员的知识产权。

需要说明的是,ASP不是脚本语言,而是一种服务器端的脚本语言开发环境,可以把它理解为一种架构,一种模型。它负责解释插入HTML页面的脚本描述。ASP必须在安装了以下软件的平台上才能运行:

*Windows NT Server上的Microsoft Internet Information Server3.0以上版本

*Windows NT Workstation上的Microsoft Peer Web Services3.0

*Win95或Win98上的Microsoft Personal Web Server

Microsoft Personal Web Server(PWS)4.0是解决个人信息共享和Web开发需要的方案。PWS是加速和简化Web站点设置(从自动创建个性化主页到文档的拖放式发布)的桌面Web服务器。在企业Intranet上,Personal Web Server可用于以自身的格式快速共享文档,或者将文档转换为HTML,然后使用PWS在不同的操作系统共享这些文档。

由于Personal Web Server支持Active Server Pages,因此可以作为Web站点的开发和测试平台。在企业服务器上或Internet服务提供商处使用您的站点前,可以先在办公室或家里创建站点,并使用Personal Web Server进行测试。

可以说。ASP代表着Web技术的重大进步。

二、定位常用的几种开发基于ASP模型的Web数据库应用程序的方法

以Internet和Intranet作为平台的Server/Browser结构的应用程序,由于具有操作系统独立性,维护简单性,用户界面一致性等特点,正越来越受到广大程序员和用户的欢迎。引入了ASP技术的Web应用程序更具有了前所未有的优势,它把客户端和服务器很好地集成到了一起。

实现WEB数据库的应用通常有两种方法:一种是WEB服务器端提供中间件连接WEB服务器和数据库服务器;一种是把应用程序下载到客户端直接访问数据库。其中第二种方法在程序的编写、调试上显得较为繁琐,网络安全也较难保证。在第一种方法中较常用的的中间件技术有通用网关接口(CGI)和应用程序编程接口(API)两种,而API有两种版本,ISAPI和NSAPI。CGI的最大不足在于对每个访问都会在服务器端产生一个应用程序副本,占用系统资源。API以动态连接库的形式出现虽然克服了CGI的这一缺点,却带来了另一个问题,即当需要修改或更新服务程序时必须重起系统,而这在许多事实性较强的应用服务器上是不允许的。同时,无论是CGI 还是API它们共同的缺点是程序和HTML文本分离,编写和调试很不灵活。人们一直期待着一种功能强大且编写容易的WEB数据库开发技术的出现。

ASP应用程序是包含了ASP网页的Web应用程序。由于ASP模型具有很多的优点,基于ASP架构的数据库应用程序也是一种功能强大的Web数据库解决方案。

常用的开发ASP应用程序的方法有以下几种:利用Visual InterDev集成环境开发ASP应用程序;利用VB6开发ASP的IIS应用程序;借助FrontPage98开发界面,直接编辑ASP文本文件等三种方法。

对于一般的开发人员,微软的VISUAL INTERDEV以其强大的功能和优秀的集成编辑环境成为开发ASP应用程序的首选工具。

对于VB程序员,第二种方法是较好的选择,它基于VB6的开发环境,借助FrontPage98来开发界面,它具有开发一般VB应用程序的相似步骤,具有VB完全的事件驱动和面向对象的特点。最近以来,由于微软的影响及其在系统、网络和开发工具上的一体化解决方案,VBScript脚本语言逐渐具有了替代JavaScript成为最流行的INTERNET脚本语言的趋势。同时由于VB6引入了新的INTERNET开发特性,使得它成为最重要的INTERNET 应用程序开发工具之一。但是这种方法也有缺点,即Frontpage98和VB6是两个完全不同的环境,在Frontpage98中的修改并不能立即反映在VB6的开发环境中,有时还不能把两者的优势很好地结合起来。

无论采用什么方法,都必须基于ASP模型,都要使用VBScript等脚本语言,区别只是开发环境的不同。因而对于一个有经验的程序员,直接的脚本编辑,即第三种方法提供了最宝贵的灵活性,它能最大限度地发挥程序员的灵活性,而且直接编辑ASP脚本在FrontPage98中就可以完成,编写和调试非常方便。对于熟悉HTML语法和VBScript或JavaScript语言的程序员来说效率最高。

本文着重从第三种方法的角度对Web数据库查询系统的设计进行探讨。

三、设计一个具体的Web数据库查询系统

一个适用的Web数据库查询系统首先应该是一个服务器端的IIS应用程序,由Web服务器来响应浏览器的请求,而IIS程序使用HTML来显示它的用户界面,由服务器在数据仓库中提取数据,并把数据返回给浏览器。因此,一个良好的Web数据库查询系统也应该是基于ASP模型的应用程序。它应该具有较好的安全性和交互性。

一个基本的Web数据库查询系统可以是如下结构的:

在Web数据库查询中,后台数据库的连接是至关重要的。ASP对数据库的访问主要是通过内置对象ADO(Active Data Object)来实现的。ADO是Microsoft针对网络数据库应用和Visual系列开发工具所开发的数据对象,在微软的系列产品中得到了很好的支持。在ASP中它可以被认为是一种数据库服务组件。与很多程序员熟悉的RDO、DAO不同,ADO是在OLE DB规范下开发的,它具有面向对象的特性.操作方法和DAO类似。

通过ADO访问Web数据库已经成为开发Web数据库查询系统的一般模式。在Web上访问数据库一般可分为以下步骤:

(1)创建数据库源名。数据库源名,即Data Source Name是连接ODBC和数据库的桥梁,ODBC通过DSN 来找到要访问的数据库。在Windows的控制面板中提供了一个名为“32位ODBC”的工具对其进行管理。在单机环境中开发Web应用时,这种通过首先创建数据库源的方法来访问数据库具有较好的可调试性,否则必须连接到一个Web上的服务器来寻找一个可供访问的数据库源。

(2)创建数据库连接。在ASP中要访问数据,必须还要创建与数据库的连接。

具体语法如下:Set Conn1=Server.CreateObject(“ADODB.Connection”),这样就创建了链接对象Conn1。具体编程中,Conn1是直接访问数据库的一个很关键的对象名。创建数据库连接后,就要打开这个连接以供访问。

具体语法如下:Conn1.Open“DSN1”,“username”,“password”。最后两个参数是可选参数。

(3)创建数据对象。RecordSet是ADO中保存数据库命令结果集的对象。通过它可以直接访问数据库中的每个记录和各个字段的属性。具体语法如下:

Set RecordSet=Conn1.Execute(sqlStr)这条语句创建并打开了一个Recordset对象,sqlStr是一条SQL的查询语句,执行这条SQL语句后返回具体的查询结果给Recordset对象。

(4)操作数据库。Execute方法的参数是一个标准的SQL语句串,可以用它来实现数据插入、修改、删除等操作。

(5)关闭数据对象和链接。打开了一个ADO对象后,必须在使用完后关闭它。以释放在服务器上的资源。

在开发Web数据库应用程序时,由于ASP模型主要是基于服务器端的,只有当用户单击了一个ASP调用(如〈form method="POST"action="complex_result.asp"〉)的超链接或表单的提交按钮后才能工作,无法对客户的输入作出实时响应。如一个检查各字段是否为空的操作,就必须数据传送到服务器端后,才能作出判断。表现在具体编程中,就是判断的代码必须放在下一个页面中。由于VBScript是基于客户端的脚本语言,所以这种检查可以通过在ASP中内嵌VBScript脚本来完成。实际上,一个成功的ASP应用程序经常是ASP模型与VBScript或JavaScript脚本紧密结合的产物。

与一般源代码编写不同的是,ASP应用程序的重点不在一般HTML代码的编写上,IIS只对〈%〉标志对内的代码进行解释和运行。〈%〉标志对内的代码具有相对完整性,可以认为它与一般HTML语言是完全互不影响的。

ASP应用程序的实际实现过程中,界面设计和代码的编写实现一种紧密结合能极大地提高效率。尤其在FrontPage98中,良好的界面设计可以极大地优化程序的结构,也具有较好的可读性。

四、实现技巧及具体实例

以下就笔者的一点经验谈谈在编制ASP应用程序中的一些技巧。

(1)Response对象中的Write方法在直接输出一个由变量表达的字符串时具有重要的作用。甚至它可以作为一种ASP向客户端返回HTML页面的一种主要方式。这也是VB6中创建动态HTML的一种重要方法。

可以参考以下代码:

〈%if rs.fields("有无幻灯").value=true then

response.write"〈td width='13%'〉〈p align='center'〉有〈/td〉"

else

response.write"〈td width='13%'〉〈p align='center'〉无〈/td〉"

end if%〉

(2)对同一表单内的元素可以用Request.Form(parameter)方法获得当前表单内的元素的值,这在实际编程中具有极大的便利。甚至在两个相邻的页面间也能顺利传值。

(3)ASP应用程序中如何解决页面间的传值一直是个关键的问题。一般可以有以下六种方法:

A.利用Application对象在应用程序的所有用户中共享信息,它可以在服务器运行期间持久地保存数据。

B.可以用Session对象中的对象为应用程序的单个用户持久保存数据。但保存时间受到Session对象的另一个属性Timeout控制。

C.相邻页面之间同一表单内的元素可以使用Request.form(parameter)的方法来实现传值。

D.在ASP应用程序目录中的Global.asa文件中定义一些全局变量及过程。在Global.asa文件中创建的全局变量和过程在整个Web应用程序中都是可见的。

E.对于在多个页面之间的传值,最适合的方法是利用Request.querystring属性。即在表单的Action或页面元素的超链接中,可以添加关于Request.querystring的引用。具体如下:

〈form method="POST"action="complex_query.asp"?query1=rs.fields(0).value〉

则在complex_query.asp中,可以通过Request.querystring(“query1”)来取得query1的值,并可以采用同样

的方法把这个值再传送下去。

F.还可以利用HTML中隐含域的特性传递。

以下是一段关于Web数据库查询的程序实例。

下面一段程序实现复合查询条件的生成,ASP文件名为Complex_query.asp。

〈html〉

〈%@Language="VBScript"%〉

〈head〉

〈meta http-equiv="Content-Type"content="text/html;charset=gb2312"〉

〈meta name="GENERATOR"content="Microsoft FrontPage3.0"〉

〈title〉复合查询页面〈/title〉

〈meta name="Microsoft Theme"content="none"〉

〈meta name="Microsoft Border"content="tl,default"〉

〈/head〉

〈%

set conn1=server.createobject("adodb.connection")

conn1.open"kc_mdb","",""

set rs1=conn1.execute("select*from teacher")%〉

〈body background="bg005.gif"〉

〈hr size="6"color="#FF00FF"〉

〈p〉〈font face="楷体_GB2312"color="#0000FF"〉〈strong〉〈big〉〈big〉请选择查询方式〈/big〉〈/big〉〈/strong〉〈/font〉〈/p〉

〈form method="POST"action="--WEBBOT-SELF--"

onSubmit="location.href='_derived/nortbots.htm';return false;"〉

〈input TYPE="hidden"NAME="VTI-GROUP"VALUE="0"〉〈p〉〈input

TYPE="checkbox"VALUE="1"CHECKED NAME="check1"〉复合查询方式〈input

TYPE="checkbox"VALUE="2"NAME="check2"〉按教师查询〈input

TYPE="checkbox"VALUE="3"NAME="check3"〉按教室查询〈input

TYPE="checkbox"VALUE="4"NAME="check4"〉按课表查询〈input

TYPE="checkbox"VALUE="5"NAME="check5"〉按课程情况查询〈/p〉

〈/form〉

〈p〉〈font face="楷体_GB2312"color="#0000FF"〉〈strong〉〈big〉1.复合查询表单〈/big〉〈/strong〉〈/font〉〈/p〉

〈p〉〈font face="楷体_GB2312"color="#FF0000"〉〈strong〉〈big〉查询条件是:〈/big〉

〈/strong〉〈/font〉〈/p〉

〈form method="POST"action="complex_result.asp"〉

〈p〉〈font color="#000000"face="宋体"〉教师为〈big〉:〈/big〉〈/font〉〈select SIZE="1"

NAME="list1"〉

〈option〉无〈/option〉

〈%

rs1.movefirst

do while not rs1.eof%〉〈option value="〈%=rs1.fields(0).value%〉"〉〈%=rs1.fields(0).value%〉〈/option〉

〈%rs1.movenext

loop

rs1.close

conn1.close%〉〈/select〉〈%

set conn2=server.createobject("adodb.connection")

conn2.open"kc_mdb","",""

set rs2=conn2.execute("select*from classroom")%〉〈select name="operator1"size="1"〉

〈option selected value="or"〉or〈/option〉

〈option value="and"〉and〈/option〉

〈/select〉〈font face="宋体"〉教室为:〈/font〉〈select SIZE="1"NAME="list2"〉

〈option〉无〈/option〉

〈%rs2.movefirst

do while not rs2.eof%〉〈option value="〈%=rs2.fields(0).value%〉"〉〈%=rs2.fields(0).value%〉〈/option〉〈%rs2.movenext

loop

rs2.close

conn2.close%〉〈%

set conn3=server.createobject("adodb.connection")

conn3.open"kc_mdb","",""

set rs3=conn3.execute("select*from course")%〉〈/select〉〈select name="operator2"size="1"〉〈option selected value="or"〉or〈/option〉

〈option value="and"〉and〈/option〉

〈/select〉〈font face="宋体"〉课程为:〈/font〉〈select SIZE="1"NAME="list3"〉

〈option〉无〈/option〉

〈%rs3.movefirst

do while not rs3.eof%〉〈option value="〈%=rs3.fields(0).value%〉"〉〈%=rs3.fields(0).value%〉〈/option〉〈%rs3.movenext

loop

rs3.close

conn3.close%〉〈%

set conn4=server.createobject("adodb.connection")

conn4.open"kc_mdb","",""

set rs4=conn4.execute("select*from kb")%〉〈/select〉〈/p〉

〈p〉〈select name="operator3"size="1"〉

〈option selected value="or"〉or〈/option〉

〈option value="and"〉and〈/option〉

〈/select〉日期为:〈input type="text"name="T1"size="10"〉〈select name="operator4"

size="1"〉

〈option selected value="or"〉or〈/option〉

〈option value="and"〉and〈/option〉

〈/select〉周次为:〈input type="text"name="T2"size="10"〉〈select name="operator5"

size="1"〉

〈option selected value="or"〉or〈/option〉

〈option value="and"〉and〈/option〉

〈/select〉节次为:〈input type="text"name="T3"size="10"〉〈/p〉

〈p〉〈input TYPE="submit"VALUE="开始查询"NAME="B1"〉〈/p〉

〈/form〉

〈/body〉

〈/html〉

下面一段程序按查询条件返回查询结果。

〈html〉

〈%@Language="VBScript"%〉

〈head〉

〈meta http-equiv="Content-Type"content="text/html;charset=gb2312"〉

〈title〉复合查询结果〈/title〉

〈meta name="GENERATOR"content="Microsoft FrontPage3.0"〉

〈meta name="Microsoft Theme"content="none"〉

〈meta name="Microsoft Border"content="tl,default"〉

〈/head〉

〈body background="bg005.gif"〉

〈hr size="6"color="#FF00FF"〉

〈p align="center"〉〈font face="楷体_GB2312"color="#0000FF"〉〈strong〉〈big〉〈big〉〈big〉复合查询结果〈/big〉〈/big〉〈/big〉〈/strong〉〈/font〉

〈/p〉

〈p align="center"〉〈%query1=request.form("list1")

query2=request.form("list2")

query3=request.form("list3")

query4=request.form("T1")

query5=request.form("T2")

query6=request.form("T3")%〉〈%if query1=""and query2=""and query3=""and query4=""and query5=""and query6=""then

response.write("请输入至少一个查询条件!")

response.end

else

if query1〈〉""then

set conn1=server.createobject("adodb.connection")

conn1.open"kc_mdb","",""

set rs1=conn4.execute("select*from teacher where teacher.教师='"&query1&"'")%〉〈/p〉

〈p align="left"〉〈font face="楷体_GB2312"color="#0000FF"〉〈big〉〈strong〉教师情况一览表(按照教师关键字查询的结果)〈/strong〉〈/big〉〈/p〉

〈table border="1"width="100%"〉

〈tr〉

〈td width="10%"〉〈p align="center"〉姓名〈/td〉

〈td width="7%"〉〈p align="center"〉性别〈/td〉

〈td width="8%"〉〈p align="center"〉年龄〈/td〉

〈td width="36%"〉〈p align="center"〉单位〈/td〉

〈td width="12%"〉〈p align="center"〉职称〈/td〉

〈td width="7%"〉〈p align="center"〉电话〈/td〉

〈td width="20%"〉〈p align="center"〉备注〈/td〉

〈/tr〉

〈tr〉

〈td width="10%"〉〈p align="center"〉〈%=rs1.fields("教师").value%〉〈/td〉

〈td width="7%"〉〈p align="center"〉〈%=rs1.fields("性别").value%〉〈/td〉

〈td width="8%"〉〈p align="center"〉〈%=rs1.fields("年龄").value%〉〈/td〉

〈td width="36%"〉〈p align="center"〉〈%=rs1.fields("系别").value%〉〈/td〉

〈td width="12%"〉〈p align="center"〉〈%=rs1.fields("职称").value%〉〈/td〉

〈td width="7%"〉〈p align="center"〉〈%=rs1.fields("电话").value%〉〈/td〉

〈td width="20%"〉〈p align="center"〉〈%=rs1.fields("备注").value%〉〈/td〉

〈/tr〉

〈/table〉

〈%set rs1=conn4.execute("select*from course where course.教师='"&query1&"'")%〉

〈p align="left"〉〈font face="楷体_GB2312"color="#0000FF"〉〈big〉〈strong〉相关课程情况一览表(按照教师关键字查询的结果)〈/strong〉〈/big〉〈/p〉

〈table border="1"width="100%"〉

〈tr〉

〈td width="16%"〉〈p align="center"〉课程〈/td〉

〈td width="24%"〉〈p align="center"〉系别〈/td〉

〈td width="8%"〉〈p align="center"〉学时〈/td〉

〈td width="12%"〉〈p align="center"〉教师〈/td〉

〈td width="16%"〉〈p align="center"〉地点〈/td〉

〈td width="11%"〉〈p align="center"〉联系电话〈/td〉

〈td width="13%"〉〈p align="center"〉备注〈/td〉

〈/tr〉

〈tr〉

〈td width="16%"〉〈p align="center"〉〈%=trim(rs1.fields("课程").value)%〉〈/td〉

〈td width="24%"〉〈p align="center"〉〈%=trim(rs1.fields("系别").value)%〉〈/td〉

〈td width="8%"〉〈p align="center"〉〈%=trim(rs1.fields("学时").value)%〉〈/td〉

〈td width="12%"〉〈p align="center"〉〈%=trim(rs1.fields("教师").value)%〉〈/td〉

〈td width="16%"〉〈p align="center"〉〈%=trim(rs1.fields("地点").value)%〉〈/td〉

〈td width="11%"〉〈p align="center"〉〈%=trim(rs1.fields("联系电话").value)%〉〈/td〉

〈td width="13%"〉〈p align="center"〉〈%=trim(rs1.fields("备注").value)%〉〈/td〉

〈/tr〉

〈/table〉

〈%

rs1.close

conn1.close%〉

〈%end if%〉

〈%end if%〉

〈/body〉

〈/html〉

VBScript是在客户端运行的脚本,利用它可以很方便的与客户交互,如显示一个对话框,而这是ASP模型不具备的。两者的紧密结合使得客户端脚本的灵活性和服务器端脚本的安全性、可K性都得到了充分的体现。

以下是一段ASP和VBScript混合编程的实例,对添加记录时记录是否重复进行了判断。

Sub Window_onload()

〈%if Flag_Repeat=1then%〉

ret=msgbox("数据库中已经有相同记录!",64)

〈%else%〉

ret=msgbox("已成功添加记录!",64)

〈%end if%〉

end sub

在未联网的单机环境中调试ASP应用程序时,Internet Explorer无法调试包含ASP主页的Web应用程序。因此必须安装Microsoft Personal Web Server。以Win98为例,单碟的中文Win98安装盘在Win98\add-ons\pws 子目录下已带了Microsoft Personal Web Server的安装程序,这是单机版的个人Web管理器。安装个人Web管理器后,在屏幕右下角的系统托盘(Systray)中可以看见一个Personal Web Server的小图标,双击此图标,呼出个人Web管理器的主界面。在个人Web管理器上的“高级”窗口中,把“高级选项”的虚拟目录定在正在开发的ASP应用程序的目录上。把“默认文档”指定为你想调试的ASP主页。这时,切换至个人Web管理器上的“主屏”窗口中,点击“发布”框中的“你的主页在:”后的“http://----”,个人Web管理器会打开一个新的IE窗口来显示指定的ASP页面。

五、小结

由以上可见,由于ASP模型具有较好的安全性和保密性,同时对客户端的要求较低,可以说基于ASP模型的应用程序是创建Web数据库应用程序的首选。同时VBScript作为一种流行的客户端脚本语言,具有很好的灵活性和交互性。ASP与VBScript的紧密结合是一种理想的搭配,两者的完美结合就能创建出功能强大的Web应用程序。尤其对于广大的VB程序员在转向Web应用程序开发时更是首选。

电子商务论文——浅谈基于Web的数据库技术

浅谈基于Web的数据库技术 摘要:数据库技术经历了层次数据库、网状数据库到关系数据库、面向对象数据库的发展,也经历了几代的发展模式,现在普遍应用的是B/S模式,本文对这种模式,以及XML和传统数据库的比较进行了比较浅显的分析。 关键词:Web;数据库;B/S;XML 引言 随着Internet技术的快速发展,Web数据库现已成为解决数据存储和数据处理的主流和核心技术。与传统数据库相比,现今的数据库面临着四个方面的变化,即数据容量的变化:数据量的急剧增长使数据库技术面临一个海量数据的管理问题;数据内容的变化:数据的内容呈现一个多方位的体现形式,要处理的数据的表现形式越来越丰富,也越来越复杂;系统本身的变化:系统体系结构的变化对数据库系统本身的系统结构和数据处理能力也提出了更新的要求;数据应用的变化:数据应用呈现出多样化的空间,如电子图书馆、电子政务,电子商务、网络教育等给数据库技术提出了新的问题纵观整个数据库信息系统平台的发展过程,先后共产生了以下四种模式:主机终端模式、文件服务器模式、客户机/服务器模式(client/server即c/s模式),浏览器/服务器模式(Browser/Server即B/S模式)。其中,B/S模式是将Web技术与数据库管理系统(DBMS)有机融合在一起,充分发挥DBMS高效的数据 存储和管理能力和Web的易维护性,利用了大量已有的数据库信息资源,使用户可以在IE浏览器上就能够方便地查询和浏览数据库中的内容。所以,采用基于Web的数据库技术,开发动态的Web数据库应用已成为当今Web技术研究的热点和主流,许多基于大型数据库的信息系统正在采用这种全新的技术模式。 一、B/S模式的结构和工作原理 1、B/S模式的体系结构 基于Web的系统实际上是由两层C/S结构演变而来,其结构由浏览器、Web服务器+中间件和数据库服务器三个逻辑单元等共同组成。将Web的强大信息服务能力与数据库系统的数据管理能力有机地结合在一起,充分发挥各自的优点,避免各自固有的缺陷,从而起到事半功倍的效果。在该模式的系统中,所有数据都由现有的数据库技术存储与操作,客户机使用IE浏览器向服务器提出请求并即时返回查询结果。在Web与数据库集成系统中,最核心的部件就是Web数据库网关。Web数据库网关通过访问DBMS系统,来完成用Web 技术表达的用户请求。 2、B/S模式的工作原理 在B/S模式中,客户端首先运行浏览器软件(如IE等)。浏览器以超文本形式向Web服务器提出访问数据库的请求,Web服务器在接受到客户端请求后,通过数据库网关,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,处理完毕之后,将结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,并变成HTML文档形式,转发给客户端浏览器以Web页面形式显示出来,从而客户端得到所需的结果。当然,浏览器也会将更新、修改、删除、增加数据记录的请求申请到Web服务器,Web服务器通过数据库网关与数据库建立关联从而完成这些工作。 二、中间件连接W eb服务器和数据库服务器的几种方法 1、通用网关接口(CGI)

数据接口技术比较

系统接口规范以及常见的接口技术概述 一、基本要求: 为了保证系统的完整性和健壮性,系统接口应满足下列基本要求: 1.接口应实现对外部系统的接入提供企业级的支持,在系统的高并发和大容量 的基础上提供安全可靠的接入; 2.提供完善的信息安全机制,以实现对信息的全面保护,保证系统的正常运行, 应防止大量访问,以及大量占用资源的情况发生,保证系统的健壮性; 3.提供有效的系统的可监控机制,使得接口的运行情况可监控,便于及时发现 错误及排除故障; 4.保证在充分利用系统资源的前提下,实现系统平滑的移植和扩展,同时在系 统并发增加时提供系统资源的动态扩展,以保证系统的稳定性; 5.在进行扩容、新业务扩展时,应能提供快速、方便和准确的实现方式。 二、接口通讯方式: 接口基本采用了同步请求/应答方式、异步请求/应答方式、会话方式、广播通知方式、事件订阅方式、可靠消息传输方式、文件传输等通讯方式: 1.同步请求/应答方式:客户端向服务器端发送服务请求,客户端阻塞等待服 务器端返回处理结果; 2.异步请求/应答方式:客户端向服务器端发送服务请求,与同步方式不同的 是,在此方式下,服务器端处理请求时,客户端继续运行;当服务器端处理结束时返回处理结果; 3.会话方式:客户端与服务器端建立连接后,可以多次发送或接收数据,同时 存储信息的上下文关系; 4.广播通知方式:由服务器端主动向客户端以单个或批量方式发出未经客户端 请求的广播或通知消息,客户端可在适当的时候检查是否收到消息并定义收到消息后所采取的动作;

5.事件订阅方式:客户端可事先向服务器端订阅自定义的事件,当这些事件发 生时,服务器端通知客户端事件发生,客户端可采取相应处理。事件订阅方式使客户端拥有了个性化的事件触发功能,极大方便了客户端及时响应所订阅的事件; 6.文件传输:客户端和服务器端通过文件的方式来传输消息,并采取相应处理; 7.可靠消息传输:在接口通讯中,基于消息的传输处理方式,除了可采用以上 几种通讯方式外,还可采用可靠消息传输方式,即通过存储队列方式,客户端和服务器端来传输消息,采取相应处理。 三、接口安全要求: 为了保证系统的安全运行,各种接口方式都应该保证其接入的安全性。 接口的安全是系统安全的一个重要组成部分。保证接口的自身安全,通过接口实现技术上的安全控制,做到对安全事件的“可知、可控、可预测”,是实现系统安全的一个重要基础。 根据接口连接特点与业务特色,制定专门的安全技术实施策略,保证接口的数据传输和数据处理的安全性。 系统应在接入点的网络边界实施接口安全控制。 接口的安全控制在逻辑上包括:安全评估、访问控制、入侵检测、口令认证、安全审计、防恶意代码、加密等内容。 四、传输控制要求: 传输控制利用高速数据通道技术实现把前端的大数据量并发请求分发到后端,从而保证应用系统在大量客户端同时请求服务时,能够保持快速、稳定的工作状态。 系统应采用传输控制手段降低接口网络负担,提高接口吞吐能力,保证系统的整体处理能力。具体手段包括负载均衡、伸缩性与动态配置管理、网络调度等功能:

数据库技术在Web中的应用

VF论文 数据库技术在Web方面的应用 学院国际教育学院 专业国际经济与贸易 学号 1214102050 姓名张佩仪

计算机数据库(Database)是存储在计算机内,为达到一定的目的而组织起来的有结构的数据(记录、文件等)的集合。数据库系统的特点主要有以下几个方面: 1.1数据结构化;在文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。而数据库系统则实现了整体数据的结构化,这是数据库的主要特征之一,也是数据库与文件系统的本质区别。 1.2数据的共享性高、冗余度低、易于扩充;数据库系统从整体角度看待和描述数据,数据不再面向某个特定的应用程序,而是面向整个系统;因此,数据可以被多个用户、多个应用程序共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。 1.3数据独立性高;数据独立性包括数据的物理独立性和逻辑独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。也就是说,数据在磁盘上的数据库中如何存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样一来当数据的物理存储结构改变时,用户的程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不改变。 1.4数据由DBMS统一管理和控制;数据库的共享是并发的(concurrency)共享,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据。 DBMS必须提供以下几方面的数据控制功能:数据的安全性保护(security),数据的完整性检查(integrity),数据库的并发访问控制(concurrency,)数据库的故障恢复(recovery) 2.随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,数据库在网站的建设中已经成为必不可少的重要内容。可以说数据库技术已经成为网络的核心技术,网络就是数据库。 互联网是由全球众多的计算机局域网互相连接组成的一个超大规模的网络系统,在这个系统中运行着多种应用系统,如上网使用的网页浏览系统——WWW(即万维网Internet)、上传与下载用的文件传输系统——FTP、收发电子邮件所使用的电子邮件系统——E-Mail等。互联网中运行的每一种应用系统都是由互联网中相应的服务器系统、客户机系统构成,也就是说互联网从物理连接来看是由众多的计算机组成,而从逻辑上看是由多个功能子网组成。前面所提到的几个应用系统即是一些常见的子网,其中的WWW由

Web数据库系统(全文)

Web数据库系统(全文) 胡经国 本文作者的话 本文是根据有关文献和资料编写的《漫话云计算》系列文稿之一。以此作为云计算学习笔录,供云计算业外读者进一步学习和研究参考。希望能够得到大家的指教和喜欢! 下面是正文 一、Web数据库系统概述 Web数据库系统,是指在互联网中以Web查询接口方式访问的数据库系统资源。 Web技术是促进Internet发展的因素之一。由静态网页技术的HTML到动态网页技术的CGI、ASP、PHP、JSP等,Web技术经历了一个重要的变革过程。Web已经不再局限于仅仅由静态网页提供信息服务,而改变为动态网页,可提供交互式的信息查询服务,使信息数据库服务成为了可能。 Web数据库就是将数据库技术与Web技术融合在一起,使数据库系统成为Web的重要有机组成部分,从而实现数据库与网络技术的无缝结合。这一结合不仅把Web与数据库的所有优势集合在一起,而且充分利用了大量已有数据库的信息资源。 Web数据库系统,由数据库服务器(Database Server)、中间件(Middle Ware)、Web服务器(Web Server)、浏览器(Browser)4部分组成。 其中,数据库服务器,由运行在局域网中的一台或多台计算机和数据库管理系统软件共同构成。数据库服务器为客户应用提供服务,这些服务是:查询、更新、事务管理、索引、高速缓存、查询优化、安全及多用户存取控制等。 中间件(Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。数据库访问中间件(Database Access Middleware)支持用户访问各种操作系统或应用程序中的数据库。SQL是该类中间件的其中的一种。 Web数据库系统的工作过程,可简单地描述成:用户通过浏览器端的操作界面以交互的方式经由Web服务器来访问数据库。用户向数据库提交的信息以及数据库返回给用户的信息,都是以网页的形式显示的。

WEB数据库应用

任务引入2分钟] 任务分析[10分钟] MySQL语言结构 在深入学习MySQL之前,我们要了解MySQL的语言结构。 MySQL支持SQL数据库语言的关系数据库服务器。在MySQL数据库中存储、查询及更新数据的语言是遵守SQL标准的,但MySQL也对它进行了相应的扩展。 在MySQL数据库中,SQL语言由以下几部分组成。 (1)数据定义语言(DDL)。用于执行数据库的任务,对数据库及数据库中的各种对象进行创建、删除、修改等操作。如前所述,数据库对象主要包括:表、默认约束、规则、视图、触发器、存储过程等。DDL包括的主要语句及功能如表6.1所示。 表6.1 DDL主要语句及功能 (2)数据操纵语言(DML)。用于操纵数据库中各种对象,检索和修改数据。DML包括的主要语句及功能如表6.2所示。 表6.2 DML主要语句及功能

讲解相关知识[25分钟] (3)数据控制语言(DCL)。用于安全管理,确定哪些用户可以查看或修改数据库中的数据,DCL包括的主要语句及功能如表6.3所示。 表6.3 DCL主要语句及功能 (4)MySQL增加的语言元素。这部分不是SQL标准所包含的内容,而是为了用户编程的方便增加的语言元素。这些语言元素包括常量、变量、运算符、函数、流程控制语句和注解等。本章将具体讨论使用MySQL这部分增加的语言元素。 每个SQL语句都以分号结束,并且SQL处理器忽略空格、制表符和回车符。 一、常量和变量 (一)常量 1. 字符串常量 字符串是指用单引号或双引号括起来的字符序列,分为ASCII字符串常量和Unicode 字符串常量。 ASCII字符串常量是用单引号括起来的,由ASCII字符构成的符号串。 举例:‘hello’‘How are you!’ Unicode 字符串常量与ASCII字符串常量相似,但它前面有一个N 标志符(N代表SQL-92标准中的国际语言(National Language))。N前缀必须为大写。只能用单引号括起字符串。 举例:N‘hello’N‘How are you!’ Unicode 数据中的每个字符用两个字节存储,而每个ASCII字符用一个字节存储。 在字符串中不仅可以使用普通的字符,也可使用几个转义序列,它们用来表示特殊的字符,见表 6.4。每个转义序列以一个反斜杠(“\”)开始,指出后面的字符使用转义字符来解释,而不是普通字符。注意NUL 字节与NULL 值不同,NUL 为一个零值字节,而NULL 代表没有值。 【例6.1】执行如下语句:

web数据库开发技术试卷及标答

考试科目:《Web数据库开发技术》() 期末考试试卷(A) 专业姓名学号___ __ 二、填空题:(每空1 分,共 24 分) 1.常用的Web服务器有:服务器、服务器和服务器等。 2.在JSP中,对象的作用域有、、和。3.JSP注释类型有和。 4.JSP的脚本元素包括、和。5.Response对象的来源是。6.对于每个用户都共享同一个对象的是对象,而每个用户分别适用不同对象实例的是对象。 7.非可视化Bean分为和。 8.通过实现接口可实现JavaBean的持久化。 9.JavaBean通过和来读取和设置属性值。10.Servlet的优点有、、 和。 二、单选题:(每题 2 分,共 20 分) 1.下列描述中,只有()是错误的。 A、JSP提供了多种语言支持。 B、JSP提供了多种平台支持。 C、JSP采取编译执行的方式,极大地提高了运行性能。 D、JSP提供跨平台支持,也可以在UNIX下执行。 2.以下文件后缀中,只有()不是静态网页的后缀。 A、html B、htm C、shtml D、jsp 3.在page指令中,()属形式可以在页面中重复的属性。 A、language B、buffer C、import D、autoFlush

4.以下选项中,哪一项不是JSP指令() A、page B、import C、include D、taglib 5.以下选项中,哪一项不是JSP的一种组织结构() A、脚本元素 B、指令 C、页面 D、注释 6.能够获取当前页信息并调用页面方法的对象是()。 A、request B、page C、pageContext D、session 7.以下操作中,()是与使用JavaBean无关的。 A、jsp:include B、jsp:useBean C、jsp:setProperty D、jsp:getProperty 8.以下方法中,哪个方法不是HTTPServelt类的方法()。 A、doGet B、doService C、doPost D、doDelete 9.以下类中,哪个类不是javax.servlet和javax.servet.http包中提供的类或借口()。 A、Servlet B、BaseServlet C、GenericServlet D、HTTPServlet 10.以下容器中,哪个不是J2EE定义的容器() A、JSP容器 B、Servlet C、JavaBeans容器 D、EJB 三、简答题:(每题 8分,共 32 分) 1.首次加载JSP页面时,将经历哪几个阶段? 2.比较Java Servlet与Applet的异同? 3.JSP与Servlet的区别? 4.JSP有哪些内置对象,作用是什么?(列举出5个即可)

基于web的数据库系统开发与应用

基于web的数据库系统开发与应用 摘要:伴随着网络技术的迅速发展,基于Web的数据库应用也变得越来越广,本文从系统的用户特点和主要功能入手,结合实际应用,深入分析了Web数据库体系结构的发展,分析了其关键因素体系结构的升级对系统开发产生的影响。最后提出了数据库各种体系结构的工作原理及存在的问题, 关键词:Web;教学系统;数据库;设计 随着计算机技术的飞速发展, 社会信息化程度迅速提高, 作为信息系统核心和基础的数据库技术得到越来越广泛的应用, 甚至在计算机应用的各个领域, 数据库都起着至关重要的作用。然而, 在计算机网络技术和数据库技术的不断发展下, 原来基于主机的数据库技术应用程序已不能满足人们的需求, 因此, 基于的数据库应用越来越广, 数据库与网络技术的优势得到进一步发挥。 1 WEB 计算模式 目前,利用Web 计算模式来组织和发布单位内的信息资源已经成为网络应用中的发展方向,其目标是把Web 浏览器作为用户浏览单位内部信息的统一界面,允许用户对存放在任何平台服务器中的信息进行访问。由于历史和技术的原因,在单位中存在大量的各式各样的计算机和服务器,甚至还会存在不同类型的网络,从而使得单位网的结构非常复杂。同时,单位网中含有的信息量以及信息的重要程度也在不断增加。单位中各个部门地理上的分散以及MIS 产品的多样性,造成网络中的数据不集中,数据格式不统一,部门间的数据很难在更大规模上实现共享。为了保持市场竞争力,单位结构正朝着更精简、更灵活的方向转变。单位对信息的需求与日俱增,并且要求能够跨部门共享和传递信息。决策者在市场竞争的压力下需要利用最简单的方式获得单位的整体信息。 Web 技术的出现,使单位应用系统能有一个简化、低廉、以Web 为基础的客户端,并重建一个高效率的、节约的服务器端。Web 是一种新型的、以服务器为中心的结构体系,它使单位摆脱了以往那种需密集人力资源的、高成本的操作及管理方式,而转向Web 服务器(也有人称之为应用服务器),把注意

JAVAWEB数据库访问技术

JavaWeb数据库访问技术 JDBC是一种用于执行SQL语句的Java API。它由一组用Java编写的类和接口组成。 简单地说,JDBC可做三件事: ·与数据库建立连接 ·发送SQL语句 ·处理结果 一、JDBC的总体结构 在Java Application之下的是JDBC API,它提供了一系列的类代Java Application、JSP、Servlet等使用。 ·java.sql.DriverManager:用来加载不同的JDBC驱动程序并且为创建新的数据库连接提供支持。 ·java.sql.Connection:完成对某一指定数据库的连接功能。 ·java.sql.Statement:在一个已经创建的连接(java.sql.Connection)中作为执行SQL语句的容器;它包含了两个重要的子类。 1)java.sql.PreparedStatement:用于执行预编译的SQL语句。 2)java.sql.CallableStatement:用于执行数据库中已经创建好的存储过程。 ·java.sql.Result:代表特定SQL语句执行后的数据库结果集。

二、JDBC应用开发模式 在传统的客户端/服务器模式中,通常是在服务器商配置数据库,而在客户端安装内容丰富的GUI界面。在些模式中,JDBC驱动程序应该部署在客户端。 而在三层应用模式中,客户端不直接调用数据库,而是调用服务器上的中间件层,最后由中间件层完成数据库查询操作。 三层结构之优点:它将可视化表示(位于客户端)从业务逻辑(位于中间层)和原始数据(位于数据库)中分离出来。因此,我们可以从不同的客户端来访问相同的数据和相同的业务规则。

Web与数据库接口技术常用方法浅谈

Web与数据库接口技术常用方法浅谈 【摘要】Internet网是目前全球最大的计算机网络,Web数据库属于Internet 网的一种资源形势,是指在互联网中以Web查询接口方式访问数据库资源,其结构是后台采用数据库管理系统存储数据信息,对外提供包含表单的Web页面为访问接口,查询结果也以包含数据列表的Web页面形式返回给用户。Web技术与数据库管理系统相互融合方式,已成为热点研究的方向。 【关键词】Web;数据库接口;DBMS 随着Internet的逐步发展,数据库商家和WEB公司也纷纷推出各自的产品和中间件支持Web技术与数据库管理系统(DBMS)相融合,通过WWW访问数据库的优点在于:1)借用现成的浏览器软件,无需开发数据库前端,使用的数据库应用都可以通过浏览器来实现,界面统一,也减少了开发费用,能使广大用户很方便地访问数据库信息。2)统一标准,开发过程简捷,因为HTML是WWW信息地组织方式,是一种国际标准,开发者只要学习过HTML语言,使用者只需一种浏览器界面。3)共用平台支持,在各种操作系统上都有现成的浏览器可使用,为一个WWW服务器书写的HTML文档,可以被所有平台的浏览器所浏览,实现了跨平台操作。所以WWW的应用日益普及和扩大,而目前大部分数据存放在数据库中,各种关系数据库都发挥各自的优势,建立可实用的数据库访问接口,将客户端融入统一的Web浏览器,用户可以方便地检索数据库的内容,基于各种Web的数据库访问接口也应运而生并逐步发展。到目前为止,常用的数据库接口有CGI、ISAPI、JDBC、ASP、IDC、等方式。为Internet用户提供使用简便、内容丰富的服务。 1 CGI (通用网关接口:Common Gateway Interface)是WWW服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时可以生成HTML文档,并将文档返回到WWW 服务器。CGI应用程序能够与浏览器进行交互作用,还可以通过数据库的API 与数据库服务器等外部数据源进行通信,如一个CGI程序可以从数据库服务器中获取数据,然后格式化为HTML文档后发送给浏览器,也可以将从浏览器获得的数据放到数据库中。绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。 2 ISAPI (互联网服务器应用程序接口:Internet Server Application Programming Interface)由两类组件组成:提供纵向功能层的ISAPI应用程序与提供横向功能层的ISAPI过滤器。当接收到一个客户端的请求时,服务器执行一个对应的ISAPI 应用程序。ISAPI过滤器则可以实现所有请求所共有的某些功能,当过滤器中定

Web数据库知识点汇总

数据库是长期存储在计算机硬件平台上的有组织的、客共享的相关数据集合。数据库系统是指一个完整的,能够为用户提供信息服务的系统,由计算机和计算机网络、数据库和数据库管理系统、数据库应用软件系统、数据库开发管理人员和用户四大部分组成。 DBMS是数据库建立、使用、维护和配置的软件系统,是一种由专业计算机公司提供的、介于数据库与用户之间的、通用的管理软件,是数据库系统的核心。通常有三大部分组成:数据描述语言DDL、数据操纵语言DML、数据库管理例行程序。其主要功能是实现数据可定义功能。数据操纵功能、数据库运行管理功能、数据库的建立和维护功能。 数据模型是描述现实世界中客观对象及其相互联系的工具,是一组严格定义的概念的集合。有数据结构、数据操作和数据的完整性约束规则组成。分为概念模型、逻辑模型和物理模型。 数据模式是指以选定的某种数据模型为工具,对一个具体系统被处理的具体数据进行描述,反映了一个形同内各种事物的结构、属性、联系和约束。其取值称之为实例反映数据库在特定时刻的状态。数据模式按层级可划分为内模式、概念模式和外模式,三级数据模式结构。内模式为描述数据物理结构,概念模式描述全局逻辑数据结构,外模式描述局部逻辑数据结构。 数据的独立性包括数据的物理独立性和数据的逻辑独立性。DBMS提供了三级数据模式结构的二级映像功能,保证了数据的独立性。 关系数据库是以二维表的形式来描述实体及实体间联系的数据库、一个关系就是一张二维表,又称为关系表。 外键:在数据表中有来自其他数据表的逐渐构成的属性集,用于描述不同表之间元素的联系。 主键:能够唯一标识每个元组或每条记录的属性或者属性集合的最小集合 2NF:一个规范化的数据结构所有的非关键字数据项都完全函数依赖于他的整个关键字 3NF:一个数据结构中任何一个非关键字数据项都不传递依赖于它的关键字。 数据库的三种最基本操作:选择、投影和连接 数据库的完整性是指其中的数据应该是完整、正确和彼此相容的,靠定义数据的约束规则(属性、元组和数据库约束个)来实现 数据库的(表间)约束就是在指定在一个数据库表中插入、修改或者删除数据时由于首期特表中数据的影响而是数据库遵循的完整性约束规则,包括级联和限制规则。 数据库的安全性是指其中的数据应该是安全的,应保护数据库以防止不合法使用。 数据恢复包括事务恢复和介质恢复。 事务恢复:当一个作用于数据库的事物已经开始,但因某种原因尚未完成时,就赢撤销该事物,是数据恢复到事物开始前的状态。事物是一组不可分割的操作,或安全执行或者不执行,向数据库表中添加一个新的元组就可以理解为一个事物。 介质恢复:利用存储介质上备份的数据来恢复当前系统的方式,基本思想是系统备份。 并发操作:两个或多个事物同时作用于一个数据库 丢失更新:两个事物同时对一个数据库表的同一个元组进行有条件修改,其中一个事物对元组的修改被另一个事物对元组的修改所覆盖 并发控制:用正确的方式调度并发操作避免造成数据的不一致性,使一个事物的执行不受其他事物的干扰。基本策略数据封锁。 Web数据库一般指基于B/S(浏览器/服务器)的网络数据库,以后台数据库为基础加上一定的前台程序,通过浏览器完成数据存储、查询等操作的系统。工作原理:用户通过浏览器的操作界面以交互的形式经由Web服务器来访问数据库,用户向数据库提交的信息以及数据库返回给用户的信息都是以网页的形式显示。 ODBC是一钟使用SQL的应用程序接口,为访问各种DBMS 的数据库应用程序提供了一个统一接口,是应用程序和数据源之间完成数据交换。Web的工作原理可以简单地描述为:用户通过浏览器的操作界面以交互的方式经由Web服务器来访问数据库,用户向数据库提交的信息以及数据库返回给用户的信息都是以网页形式显示。其基本工作步骤是:首先,用户利用浏览器作为输入接口输入所需数据;其次,浏览器将这些数据传送给网站;再次,网站对这些数据进行处理,比如将数据存入数据库、对数据库进行查询操作等;最后,网站将操作和处理的结果传回浏览器,通过浏览器将结果告知用户。 ASP具体工作流程:用户通过浏览器向Web服务器发送一个ASP文件请求;Web服务器接收到请求以后判断从硬盘中读取相应的ASP文件;服务器终端的ASP执行环境从头到尾查找、解释并执行文件中包含的服务器端脚本命令,并将执行结果与静态HTML合并,形成最终HTML文件;Web服务器将最终的HTML页面代码在HTTP响应中传送给客户端Web 浏览器;用户的Web浏览器解释并将这些HTML代码显示出来。 ASP大致流程:浏览器首先向服务器发出ASP文件请求,然后由服务器读取ASP文件内容,将要运行的ASP代码跳出来逐行解释执行,再将脚本的执行结果与静态HTML代码合并,形成最终的网页页面发送给客户端浏览器。 事务和事务处理:事务是一组不可分割的操作,这组操作要么全执行,要么一个也不执行,向数据库中添加一个新的元组就可以理解为一个事物,及即事务是服务器的一种整体成功或者失败的操作,事务处理用于对数据库进行可靠的更新。在对数据库进行多个更改操作或者同时更改锁个数据表时,需要保证这些更新都能够正确被执行,若任何一个更改失败,都需要恢复到数据表的原始状态。 SQL及其主要功能:即结构化查询语言,是一种功能齐全的数据库语言,目前多数数据库管理系统都支持SQL或者提供AQL接口。利用SQL可以在数据库中建立数据表。可以在数据表中添加、更新、查询、删除记录,可以进行统计与计算操作,还可以在事务处理中执行相关操作。 Response对象主要方法及作用:~write方法:将输送传至浏览器端;~Redirect方法:从目前网页导至其他网页;~Clear 方法:清除缓存区的所有HTML输出;~End方法:结束程序的执行;~!Flush方法:缓冲处理;~AppendToLog方法:将数据加入站点活动日志;~Binary Write方法:将指定的信息(非字符串信息)写到HTML输出。 Server对象的方法及作用:Create Object方法:创建对象实例;Map Path方法:取得绝对路径;HRML Encode方法:HTML 字符串编码;URL Encode方法:路径字符串编码;Transfer 方法:转向指定的浏览网页;Execute方法:执行外部网页。RecordSet对象的工作流程:创建Connection,打开数据源。创建RecordSet对象取得数据,直接利用Serve对象的CreateObiject方法建立Recordset对象;打开~对象获得数据;处理~对象的记录;关闭并释放~对象关闭并释放与数据库的连接。 在db1.mdb数据库中建立stu表,其stu表,其ASP网页文件createDBtable.asp中的代码: <% set conn=server.createobject(“adodb.connection”) conn.open “xuesheng” strSQL= “create table stu(xh char(11) primary key,xm char(4),xb char(1)” strSQL=strSQL&”,csrq date,dhhm char(8)” conn.execute(strSQL) %> 向stu表中添加记录的ASP网页文件stuAdd.asp中的代码:<% set conn=server.createobject(“adodb.connection”) conn.open”xuesheng” strSQL=”insert into stu(xh,xm,xb,csrq,dhhm)” strSQL=strSQL+”values(‘20090301003’,’李鹏’,’男’,#1991-8-8#,’01010101’)”

基于WEB的数据库访问技术

基于WEB的数据库访问技术 【摘要】基于WEB的数据库访问技术,在各具体业务应用与底层用户数据库间建立一种可扩展、可移植,具有较强伸缩性的统一的对外接口,以有效地支撑业务网络应用。 【关键词】WEB;数据库访问技术 1.引言 在三层C/S中应用程序访问数据库服务器都需要一定的数据访问技术的支持。从总体上数据访问技术可以分为数据访问接口和数据访问对象两部分,两者之间的关系如图1所示。 图1 数据访问技术关系图 数据访问接口:提供一组标准化接口(数据库引擎),允许应用程序访问不同类型的数据库管理系统。如ODBC,JDBC,OLE DB等;数据访问对象:提供用于通过数据库访问接口访问数据库管理系统的通用标准对象,不受应用程序开发语言的限制,实现对数据库的连接、增加、删除和查询等操作。如常见的有DAO,RDO,ADO,https://www.doczj.com/doc/af8536690.html,等对象模型。在数据访问技术研究初期,不同的数据库厂商都会提供不同的数据访问接口,开发人员需要针对不同的数据库管理系统(DBMS)学习不同的专用数据库访问技术,比如DB2系统的CLI Library、Oracle 的OCI Library等。这对开发人员造成了极大的困惑,使得数据库应用程序的开发很困难,影响开发进度;而且所开发的应用程序局限性很大,严重依赖于数据库平台,不利于应用程序的跨数据库平台移植。 2.通用基于WEB数据库访问技术 信息化时代,网络和信息管理高速发展,数据库技术日臻成熟,功能日趋完善,而网络和数据库之间的关联与应用日益紧密,用户对信息的要求随之也要达到高标准的实时性与交互性,因此WEB服务器与数据库技术的结合显得格外重要。数据库访问中间件技术出现一改传统两层结构,采取C/S三层结构,充分发挥了WEB技术和数据库技术二者结合的综合优势与潜力,提高了性能、访问效率和安全性。常见的基于WEB的数据库访问技术分为以下几种: 2.1 CGI技术 CGI即通用网关接口,是Web服务器与应用程序交互传递信息的一种标准接口。CGI的工作原理是客户端浏览器通过URL向Web服务器提出请求,服务器的守护进程将此请求传给相应CGI程序进行处理,然后CGI将处理结果返回客户端浏览器。CGI优点:通用性强,基本支持所有HTTP服务器,交互能力强,跨平台性能极佳,操作简单灵活。CGI缺点:应用程序通常独立执行,客户共享

在Web系统中用连接池访问数据库

收稿日期5作者简介王丽辉(),女,吉林省九台市人,实验师,从事计算机教学与实验工作。 在Web 系统中用连接池访问数据库 王丽辉,王东来 (吉林农业科技学院信息工程学院,吉林132101) 摘 要:介绍了基于Java 的数据库访问机制,阐述了连接池的概念以及连接池的具体实现。对实际应用中出现的问题进行分析,提出了使用连接池技术的解决方案。分析了连接池的工作原理,并通过一个实例给出了连接池技术的实现方案。 关键词:Jav a ;连接池;JD BC 中图分类号:TP393 文献标识码:A Using Connection Pool to Visit Databa se in Web System WAN G Lihui ,WANG Donglai (Jilin Agricu ltural Science and Techno lo gy Colleg e C ollege o f In formation Eng in eering ,Jilin 132101,Ch ina) A bstract :In this paper ,introduced t he access mechani sm based Java and explained the c once ption and im ple 2mentation of c onnection pool.Put forw ard the s olutionson how to use connection pool technology a fter the problems in applications were analysed.Analysed the w orking principle and gave an implementations pr ogram by one exam ple. K ey w or ds :Java ;connection pool ;JDBC Java 是S UN 公司推出的一种面向对象的语言,它利用特有的虚拟机技术实现了平台的无关性,而这一特性又促使其成为一种开发W eb 应用系统的优秀语言。由于在网上处理的数据成倍增加,而且越来越复杂,迫使科学研究者和应用开发者必须考虑如何快速建立完善有效的新模型以及如何改进和优化一些传统模型。众所周知,在一个基于数据库的Web 系统中,建立数据库连接的操作是系统中代价最大的操作之一。很多时候,可能网站速度瓶颈就在于此。为此我们提出了在传统模型中引入连接池技术的方法,从而很好地解决了这个问题。连接池技术是通过重用一组连接对象,使所有用户之间共享一组已经打开的连接。我们提出的方法可以节省建立数据库连接的时间,提高访问数据库的速度。 1 Java 应用程序访问数据库基本原理 Java 语言的跨平台性、安全性以及可移植性等特性使其成为开发数据库的一种优秀语言[1]。JD BC (Java DataBase C onnectivity )是Java 程序连接和存取数据库的应用程序接口(API ),此接口是Java 核心API 的一部分。JD BC 向应用程序开发者提供了独立于数据库的统一的API 。JD BC 是由一组驱动程序实现的Java 接口,驱动程序负责从标准JD BC 调用向支持的数据库所需要的具体调用转变。除了向开发都提供统一的独立于D BMS 之外的框架,JD BC 还提供了让开发者保持数据库厂家提供的特定功能的办法。驱动程序管理器API (对程序员是透明的)与实际连接到数据库的各个第三方驱动程序进行通信,并且返回查询的信息,或者执行由查询规定的操作。(1)建立数据库连接;(2)利用SQ L 语句对数据进行操作;(3)断开数据库连接在基于数据库的W eb 系统中,在某一较短的时间段内,只有少数Web 请求时,传统模式还能很好的工作,但随着请求数不断增加,系统的开销越来越大,响应W eb 、请求的速度越来越慢,直到无法响应W eb 请求。造成这种结果的原因是由于传统模式存在下面的一些缺陷:(1)一次W eb 请求都需要建立一次数据库连接。每建立一次数据 5 :2009-0-10 :1972-11

基于Web的MES与实时数据库系统集成

基于Web的MES与实时数据库系统集成 关键字:紫金桥实时数据库web 两化融合MES 系统集成 背景 当前一个web横行的时代,无论办公还是个人事务处理,无处不有Web的渗透。对于企业级的信息平台也早已被web霸占。对于MES系统等大型的企业信息平台,生产数据部分是必不可少的。 如何在MES等信息系统中集成生产数据管理,全部重新开发?包括流程图绘制、实时\历史报表、报警处理、趋势分析、统计数据等,对于任何一种开发平台来说,即使有现成的组件,工作量也是巨大的。有没有一种更合理的解决方案,做到既节省工作量、又使功能模块更加合理,下面提供这样一种方案。 实现思路 生产数据管理是实时数据库的优势,各种功能组件都已集成,并且针对于生产。 紫金桥实时数据库提供“瘦客户端”,可以在web页面中嵌入具有授权签名的ActiveX,实现在IE浏览器中浏览服务器中的画面信息和数据信息。浏览灵活,并且与实际服务器中所有的内容一致。 既然如此,何不将生产数据部分交给实时数据库? 如何将两个系统集成一体? 有三种方式可供参考: 1.直接通过链接方式,打开指定的紫金桥实时数据库web页面。 2.通过Frame框架方式,做到紫金桥实时数据库web页面嵌入到网页中。 3.通过iFrame框架方式,能过在网页的任意表格内显示实时数据库web页面。 具体实现 1.直接链接 紫金桥实时数据库发布的页面可以实现每个画面对应一个web浏览的URL。只需将工程目录下的default.htm(或者index.htm)文件复制一份,命名,比如report.htm。修改如下网页源代码: 将其中的DRAW1改为需要浏览的窗口名。比如: 这样就可以通过打开http://服务器IP地址/虚拟目录/report.htm直接浏览报表窗口。 这里要求服务器IP地址必须使用自指定方式。以防止多个实时数据库系统浏览时出现冲突。 网页中直接调用该URL就可以,比如: 生产报表 2.利用Frame Frame是一种网页切分技术,能够实现在一个页面框架中,同时打开多个子页面。 下面是一个简单的使用Frame框架的示例。

各种web与数据库接口技术的性能和瓶颈分析

web与数据库的接口技术是各网站提供internet信息服务的关键技术。除了常使用的cgi 方式外,微软先后推出了idc、isapi、asp等方式,此外,java-applet也是web与数据库接口的常用方法。 概述 cgi(common gateway interface:公共网关接口)定义了一种有关环境变量的组合、标准输入流和标准输出流的接口规范。当浏览器向web服务器发出请求时,服务器通过执行一个外部程序来处理这一应用要求。 idc(internet database connector:internet数据库连接器)使用idc文件与htx文件,idc文件负责查询数据库,htx文件负责把查询结果格式化之后,再输出到客户端。 isapi(internet server application programming interface:internet服务器应用程序接口)由两类组件组成:提供纵向功能层的isapi应用程序与提供横向功能层的isapi过滤器。当接收到一个客户端的请求时,服务器执行一个对应的isapi应用程序。isapi过滤器则可以实现所有请求所共有的某些功能要求,当过滤器中定义的事件在进程中发生时,服务器调用过滤器中相应的函数进行处理。 asp(active server pages:动态服务器页)是服务器端的脚本文件,可以是html,也可以是vbscript或javascript,asp的目的是提供可编程html页来响应web请求。 java-applet(java小应用程序)与其它方式不同,当浏览器访问页面时,客户机要从internet上下载附在网页上的applet,其中包括能访问数据库的applet。 为了进行这五种接口方式的性能与瓶颈分析,本文作者进行了大量的对比性测试,测试方法如下: 五种接口方式的评测都采用windows nt操作系统平台及iis的web服务器。数据库采用sql sever 7.0与oracle 8.0(以下分别简称“数据库s”和“数据库o”)。两种数据库中建有相同的数据表,每张表含有14个字段,并建立索引,且都有48218条相同的记录。数据来源于“上海证券交易所”的股票数据。测试时系统只运行所需测试的web请求,无其它负荷。计算机配置为pentiumⅡ400、64m sdram内存以及33.6k/isdn(64k)modem。测试分为单机测试、远程测试(通过普通电话网与isdn进行)与局域网测试三个步骤,其中局域网测试是用来研究并发访问的。由于在真正的internet上,网络环境复杂,干扰因素多,故采用10mbps的局域网环境替代。 性能分析 接口速度

访问Web数据库的几种解决方案

摘要:#$%&’$&%的发展使数据库技术与(&)技术的结合成为研究的热点,*+#、#,*和-./是访问(&)数据库的基本方案。与*+#和#,*相比较,-./作为一种全新的.&’0&’端技术具有先进的体系结构,其运行效率高、执行速度快、支持多线程、程序编写简单,且能实现复杂功能,是目前访问(&)数据库的最有效的解决方案。 关键词:(&)数据库;-./;*+#;#,*中图分类号:1/232 文献标识码:- 随着#$%&’$&%的发展以及人们对信息共享要求的提高,数据库与(&)紧密地结合在了一起,数据库技术与(&)技术的结合成为当前研究的热点。(&)数据库访问技术是#$%&’$&%技术和数据库技术的交叉点,基于中间件技术访问(&)的原理如下图所示: 中间件负责管理(&)服务器和数据库服务器之间的通信并提供应用程序服务。它能直接或调用外部程序或脚本代码来访问数据库,因此它可以提供与数据库相关的动态4156页面,将用户的查询结果格式化为4156页面,通过(&)服务器返回给浏览器。 最基本的中间件技术有通用网关接口*+#、#$%&’$&%数据库连接器#,*, 还有微软新开发的-7%80&9,:%:;)<&7%技术-,;,它作为-./的核心技术之一,集中体现了-./技术简洁而强大的数据库访问功能。 =>通用网关接口*+# 通用网关接口*+#?*@AA@$+:%&B:C #$D %&’E:7&F 是(&)服务器在调用外部程序时的接口规范协议,它规定了一套标准的参数格式和环境变量。*+#程序的作用是扩展(&)服务器的功能,执行(&)服务器所不能完成的任务。其基本思想是:客户端即(&)浏览器通过411/与(&)服务器进行交互,(&)服务器通过*+#与数据库服务器进行交互,数据库服务器提供数据库连接。 外部*+#程序通过环境变量、命令行参数、标准输入输出与(&)服务器进行通信,传递有关参数和处理结果,应用在(&)数据库上时,它可以实时动态地生成4156文件,根据用户的需求输出动态信息,把数据库服务器中的数据作为信息源对外提供服务,把(&)服务和数据库服务结合起来。*+#程序通常是一个可执行文件,*+#程序的执行一般有两种方式,一种是通过GH6直接调用,另一种是通过交互式主页里的I@’A 表单调用,在用户填完表单所需的信息后按确认按钮启动*+#程序。*+#接口能支持;,J*类型的数据库,从而能够支持常用的.K6.&’0&’、;’:7L&、-77&MM 、I@NO’@等数据库。利用*+#连接数据库的开发 访问(&)数据库的几种解决方案 郭鲜凤 ?太原大学机电系,山西太原P2PPP3F 收稿日期:"PP"Q P"Q =R 作者简介:郭鲜凤?=3S"—F ,女,太原人,太原大学机电系讲师。 T@U’$:L ;E 1:8CU:$G$80&’M8%C 太原大学学报 "PP"年S 月第2卷第"期总第=P 期 V@L>2W@>".UAW@> =P

相关主题
文本预览
相关文档 最新文档