MYSQL教程之Web数据库两头件手艺
对免费版的用户也具有充足的支持服务。在dev.mysql.com上,一个大型的MySQL学习教程强大社区用户和开发者可以讨论所有关于MySQL的事情。这个站点拥有博客、指南、视频、技术交流会、白皮书和论坛等方式的交流。web|数据|数据库Web数据库两头件手艺曾晓金
(云南产业年夜学盘算机使用重点实行室昆明650051)
择要:先容了Web数据库的几种两头件办理计划,并对照了它们的特征与不敷,和Web数据库呈现的响应最新手艺。
关头词:两头件CGIASPISAPINSAPIJDBC
跟着Internet/Intrranet的衰亡与开展,Web服务器与数据库服务器的毗连显得愈来愈主要,很多厂家不休推出新手艺、新产物,使得毗连加倍简便、敏捷和便利。Web与数据库毗连手艺已成为基于Web的信息办理体系的中心,为Internet上的电子商贸打下了基本。
一样平常来讲,经由过程Web页完成对数据库会见的基础框图如,在全部体系中关头的手艺是两头件的办理计划。
、Web页面会见数据库表示图
两头件卖力办理Web服务器和数据库服务器之间的通讯并供应使用程序服务。因为驻留在Web服务器上,因此两头件软件可以挪用作为Web服务器和数据库服务器间"传输机制"的内部程序或"编码",并将实行查询等以HTML页面或纯文本的情势将信息前往给终极用户。数据库服务器卖力办理驻留在数据库服务器中的数据。
1、现对以后几种盛行的两头件的办理计划作一会商。
1.通用网关手艺(CGI)
CGI是一种Web站点上能够用来会见Web站点的用户交互的各类程序的尺度,利用CGI剧本同意用户在扫瞄器中等服务器上的数据库交互,完成对数据库的各类操纵。
几近利用的服务器软件都撑持CGI,开辟者可使用任何一种Web服务器内置言语编写CGI,包含Perl言语,C,C++,VB和Delphi等。
CGI的事情道理是扫瞄器经由过程Web页面的表单搜刮参数,这些参数经由过程HTTP传送Web服务器,在服务器经由过程CGI剧本剖析参数(命令行参数或情况变量),同时启动通旅程序,把剖析后的参数转化为SQL命令,交数据库服务器实行,然后CGI程序前往处置了局给Web服务器,最初向客户机前往HTML或纯文本格局的了局并断开毗连。
CGI弱点是实行速率较慢,Web服务器每启动一个数据查询服务,就必需启动一个新的CGI历程,绝对服务器资本价值对照高。
2.ASP(ActiveServerPages)
ASP是一种开放的,能够将HTML剧本及可重用的ActiveServer组件分离在一同以创建高效的静态的基于Web的使用程序情况,使用ASP,能够增添运转在服务器真个剧本的新特征,如会见数据库。
ASP撑持ActiveServer组件的利用,ActiveServer组件经由过程组件工具模子(COM)为ASP供应了可编程的界面,个中组件之一ActiveDataObject(ADO)供应了与数据库相连的机制。且利用ASP能够间接在HTML文件中包括可实行的剧本,HTML开辟和剧本开辟能够变成一个历程,而不象CGI、ISAPI和其他办法一样,程序和HTML文件请求在分歧的计划情况招致程序发生和修正坚苦。
3.使用编程接口(API)
鉴于CGI的一些缺点,Microsoft和Netscape开辟了公用的Web服务器中的程序代码(如静态链接库DLL),且一样平常与Web服务器软件处在内存的统一地点空间中,因而每次挪用时是在内存中运转响应的程序段,而不是像CGI那样必要启动新的历程,因此效力要比CGI高很多。
API手艺次要弱点是开辟难度年夜,且可移植性差,开辟出的使用程序只能在响应的Web服务器上运转,缺少通用性。
为了加重开辟使用程序的坚苦,Netscape和Microsoft在其各自的服务器中供应了基于API的编程接口。Netscape供应了基于NSAPI的Livewire,它是专门计划的周全开辟计划,开辟职员能够开辟和办理WWW界面、WWW网点,而且能够使用SQL语句或ODBC间接会见数据库。Microsoft则供应了基于ISAPI的IDC模块,它是IIS的一个静态毗连库(httpodbc.dll),并经由过程ODBC会见各种数据库。
4.JDBC手艺
Java是一种复杂、面向工具、易传送、安定平安、多线程实行把持及3D空间计划的言语,它为Internet注进了交互性。Java撑持数据库的会见,是由于SUN公司供应了一种尺度的SQL会见数据库的Java言语使用程序编程接口(JDBC)。组成Java言语的基本是一系列类库,而JDBC恰是界说了Java与数据库之间的接口类库(Java.sql包),它是Java言语中实行SQL语句的API,它由一系列类和接口所构成,这些类和接口均是由Java言语写成的,经由过程它一个程序开辟者能够在Java言语中创建与数据库的链接,实行SQL语句和处置SQL语句前往的了局。
接纳JDBC很简单用SQL语句会见异构数据库,如经由过程JDBCAPI,只需编写一个JDBCAPI,就能够把SQL查询语句送往Sybase,Oracle或Informix数据库,同时接纳Java言语编写使用程序,具有平台有关性,不要为分歧的平台编写分歧的使用程序。
、JDBC手艺事情表示图
接纳JDBC手艺其事情体例为:客户端起首会见Web服务器,下载Java字节码文件,并将Applet相干类的字节码文件和JDBC接口字节码文件下栽到客户端,然后与Web服务器离开,接着Applet依据数据库地点,端标语和帐号与数据库服务器毗连举行交互,如许用户与数据库服务器的交互是由扫瞄器间接完成的。因为JDBC手艺的可操纵性、可保护性和平安性及事件处置才能、利用效力都对照高,因而具有很年夜的上风。
Java与数据库的毗连机制与CGI和API有所分歧,在客户机上运转JavaApplet经由过程JDBC手艺能够绕过Web服务器间接和数据库服务器毗连,并间接把带有了局的HTML页前往客户机扫瞄器。
象ODBC一样,JDBC供应给程序员的编程接口是由两部分构成,一是面向使用程序的编程接口JDBCAPI,它是为使用程序员供应的,二是供底层开辟的驱动程序接口JDBCDriverAPI,它是各个贸易数据库厂商供应的。今朝,JDBC已失掉了很多厂商的撑持,包含Borland,IBM,Oracle和Sybase等公司,以后盛行的年夜多半数据库体系都推出了本人的JDBC驱动程序。
2、停止语
数据库在Web上的使用无疑加强Web的功效和吸引力,我们能够接纳分歧的两头件办理体例把Web与数据库相集成,到达综合信息服务的目标。值得存眷的是JDBC手艺,JDBC作为新的联合Web服务器与数据库的桥梁,同时仍保存着Java自己很多有目共睹的特征,年夜多半盛行的数据库体系都已推出了本人的JDBC驱动程序,其次要的成绩则是代码的实行效力成绩,同时,还面对着微软公司的ActiveX的无力应战。
参考文献
1、[美]JeffryDwight等著,CGI开辟利用手册,机器产业出书社
2、[美]DanielJ.Berlin,etal著,清华年夜学出书社
3、张世永编,数据库与WWW,复旦年夜学出书社
4、陈人品,基于Web的信息体系的开辟,盘算机工程(1998、3)
5、邵立兵,Sybase数据库与Web的互连,盘算机工程(1998、3)
6、陈喃,Java的远程数据库会见模子及实在现,盘算机体系使用(1998、9)
7、刘东等,基于WWW的数据库使用,盘算机体系使用(1998,4)
8、罗东川,JAVA言语与DataBase之间的接口--JDBC,盘算机体系使用(1998,3)
9、罗娟等,Web与数据库手艺,盘算机工程(1998,8)
10、谭郁松等,基于Web情况下的异构数据库毗连手艺的研讨与完成,盘算机工程(1998、8)
一个相关的问题是第三方支持的资格问题,尽管直接来自厂商的支持和服务可以一定程度上减缓这个问题,但是,对于有的企业来说,通过强有力的本地化支持显然更有吸引力。 可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。 我们学到了什么?思考问题的时候从表的角度来思考问 where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。 where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。 以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了 作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题! 另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
页:
[1]