⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 044.htm

📁 delphi教程
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI基础教程-->第十八章 Delphi客户服务器应用开发(二)</TITLE>
<META NAME="keywords" CONTENT=" DELPHI基础教程 第十八章 Delphi客户服务器应用开发(二)">
<META NAME="description" CONTENT=" - DELPHI基础教程 - 第十八章 Delphi客户服务器应用开发(二)">

<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋体"}
.tt2 {font: 12pt/15pt "宋体"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%"  bgcolor="#e0e0e0"><strong><A HREF="045.htm"><FONT style="FONT-SIZE: 9pt">后一页</font></A><BR>
<A HREF="043.htm"><FONT style="FONT-SIZE: 9pt">前一页</font></A><BR>

<A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目录</font></A><BR>
<A HREF="../../../../index.htm"><FONT style="FONT-SIZE: 9pt">回首页</font></A><BR>
</strong>
</TD>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">第十八章 Delphi客户服务器应用开发(二)</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<font face="Arial"><p>18.1.4.1 </font><font face="宋体" lang="ZH-CN">本地型数据库接口 </p>
<p>  本地型数据库是伴随微机的产生而产生的。</font><font
face="Arial">dBASEII</font><font face="宋体" lang="ZH-CN">作为最早的并仍在使用的系统之一就是典型的本地型数据库。 </font><font
face="Arial"></p>
</font><font face="宋体" lang="ZH-CN"><p>  本地型数据库管理系统的数据存放在一个本地硬盘上。</font><font
face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">接受来自用户或用户程序的命令。这些命令通常是系统特有的数据库管理语言。命令被转换为简单的磁盘访问命令,并交付文件系统来处理。然后</font><font
face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">接收来自磁盘上的数据,并加以处理。</p>
<p>  在本地型</font><font face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">应用中,数据库引擎</font><font
face="Arial">(DBE)</font><font face="宋体" lang="ZH-CN">运行于工作站上。图</font><font
face="Arial">18.2</font><font face="宋体" lang="ZH-CN">暗示数据是存放在工作站的局部驱动器上,其实在网络中,数据还可存放在文件服务器上。这里数据库引擎使用典型的文件</font><font
face="Arial">I/O</font><font face="宋体" lang="ZH-CN">调用和记录封锁技术来直接读写数据。 </p>
<p>  存放数据的文件位于网络中的某个服务器上时,</font><font
face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">的行力与单机情况无异。</font><font
face="Arial"> </font><font face="宋体" lang="ZH-CN">网络操作系统负责对服务器的管理,因此对</font><font
face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">而言,对服务器的使用就象使用局部的驱动器一样。</p>
<p>  当用户发出命令,请求</font><font face="Arial">DBMS</font><font
face="宋体" lang="ZH-CN">读取数据库中的数据时,该请求首先由工作站</font><font
face="Arial">(</font><font face="宋体" lang="ZH-CN">客户</font><font face="Arial">)</font><font
face="宋体" lang="ZH-CN">的网络驱动程序处理,它负责把请求从网络上传到所需的服务器网络文件系统。服务器操作系统从适当的磁盘卷上找到数据,并发回等待中的工作站驱动程序。最后,数据回传给</font><font
face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">,这样</font><font
face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">使用这些数据就象使用本地存储的数据一样。网络情况下的接口比单机情况下接口的处理增加了通信开销,正常情况下这种额外开销不会影响用户的响应时间,除非在网络通信的高峰期间或</font><font
face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">要求大数据量传递。</p>
<p>  对于本地型</font><font face="Arial">DBMS</font><font face="宋体"
lang="ZH-CN">其大部分工作都在工作站一侧完成,即使数据存储在文件服务器上,其对数据的处理仍然要在工作站上进行。这种方式的最主要的一个缺点是无论查询需要多么少的数据,都需要首先将查询中的所有数据通过网络传到工作站,然后由工作站负责选出满足查询条件的数据,不难想象,当几个用户同时操作数据库时,数据库网络的带宽会很快阻塞。</p>
<p>  在这一方式下,工作站不仅要负责所有用户界面管理,还要负责所有数据处理的工作。在当今的数据库应用中,尤其是那些功能强且使用简便的系统,用户界面的处理开销是相当大的,象</font><font
face="Arial">Windows</font><font face="宋体" lang="ZH-CN">这样的图形环境,处理上的额处开销会更大。为此而升级工作站是很得不偿失的。</p>
<p> </font><font face="Arial"></p>
<p>18.1.4.2 </font><font face="宋体" lang="ZH-CN">客户</font><font face="Arial">/</font><font
face="宋体" lang="ZH-CN">服务器型数据接口</p>
<p> </p>
<p>  由于服务器硬件技术逐年迅速地提高,数据库在处理模式上在近五年内发生了改变。本地型</font><font
face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">逐渐让位给客户</font><font
face="Arial">/</font><font face="宋体" lang="ZH-CN">服务器型</font><font
face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">,尤其是在大中型企业中更是这样。</p>
<p>  正如名字所暗示的,客户</font><font face="Arial">/</font><font
face="宋体" lang="ZH-CN">服务器是将处理工作分散到工作站和服务器上去处理,服务器不仅负责存取数据,还要对数据作一定的处理工作,这样在数据发送给工作站之前即求得查询结果集,从而在大部分情况下可大大减少网络传输的开销,因此,也减轻了工作处理负担,从而只需关心用户界面的处理工作即可。</p>
<p>  服务器处理数据带来的另一个好处是,当服务器中数据库引擎使用了缓冲机制时,多个工作站可以从中受益。例如,一用户查询了某数据,当另一用户要查询同样的数据时,即可从服务器缓冲中直接得到结果,从而免去很多开销。</p>
<p>  客户</font><font face="Arial">/</font><font face="宋体" lang="ZH-CN">服务器系统的成功与否在很大程度上依赖于服务器硬件质量和容量。用户越多,服务器的处理负担越重,相应服务器硬件性能也要跟得上,否则就会导致响应时间比本地型数据库还要差的结果。  </p>
</font><font face="Arial"><p></font><font face="宋体" lang="ZH-CN">  处理工作,而工作站负责用户界面处理工作 </p>
<p>  客户和服务器间的数据库接口要比本地型系统复杂得多。它有几个转换级负责命令和结果集在工作站和服务器间的传送。图</font><font
face="Arial">18.5</font><font face="宋体" lang="ZH-CN">给出了客户</font><font
face="Arial">/</font><font face="宋体" lang="ZH-CN">服务器数据库接口的详细情况。 </p>
<p>  客户</font><font face="Arial">/</font><font face="宋体" lang="ZH-CN">服务器的前端应用程序实际上不直接与数据库引擎打交道。每个客户服务器提供一个数据库通信接口,该数据库通信接口运行于前端。这些接口也称为数据库通信</font><font
face="Arial">API</font><font face="宋体" lang="ZH-CN">等。数据库通信接口的工作流程如下:</p>
<p>  ①</font><font face="Arial"> </font><font face="宋体" lang="ZH-CN">前端应用程序发送命令给数据库通信接口。</font><font
face="Arial"></p>
<p></font><font face="宋体" lang="ZH-CN">②</font><font face="Arial"> </font><font
face="宋体" lang="ZH-CN">接口通过网络把命令传给数据库引擎。</font><font
face="Arial"></p>
<p></font><font face="宋体" lang="ZH-CN"> ③</font><font face="Arial"> </font><font
face="宋体" lang="ZH-CN">数据库引擎在服务时上做查询或更新操作之类的工作,通过网络文件系统访问物理数据。</p>
<p>  ④</font><font face="Arial"> </font><font face="宋体" lang="ZH-CN">数据库引擎将结果返送给工作站上的通信接口。</p>
<p>  ⑤</font><font face="Arial"> </font><font face="宋体" lang="ZH-CN">前端从接口上接到结果后,显示或按用户要求做其它处理。 </p>
<p>  客户</font><font face="Arial">/</font><font face="宋体" lang="ZH-CN">服务器型比本地型</font><font
face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">更接近</font><font
face="Arial">ODBC</font><font face="宋体" lang="ZH-CN">的原理。因为由前端向数据库的命令发送和由数据库向前端结果的返回都是透明的,并不需知道具体传送方式如何,各系统存在差别地方是:客户</font><font
face="Arial">/</font><font face="宋体" lang="ZH-CN">服务器系统在管理工作站和服务器间通信的方式不同,彼此会不兼容。此外</font><font
face="Arial">,</font><font face="宋体" lang="ZH-CN">对于本地型</font><font
face="Arial">DBMS</font><font face="宋体" lang="ZH-CN">缺乏读取不同类型数据源的能力的问题。这些问题在</font><font
face="Arial">IDAPI</font><font face="宋体" lang="ZH-CN">中得到了有效解决。 </p>
</font><font face="Arial"><p>18.1.4.3 Borland Delphi </font><font face="宋体"
lang="ZH-CN">的解决方案 </p>
<p>  </font><font face="Arial">IDAPI</font><font face="宋体" lang="ZH-CN">是通过</font><font
face="Arial">BDE(Borland Database Engine)</font><font face="宋体" lang="ZH-CN">和</font><font
face="Arial">SQL Links</font><font face="宋体" lang="ZH-CN">,来解决本地型数据库接口和客户</font><font
face="Arial">/</font><font face="宋体" lang="ZH-CN">服务器型数据库接口的兼容问题的,见图</font><font
face="Arial">13.1</font><font face="宋体" lang="ZH-CN">。</p>
<p>  </font><font face="Arial">Delphi </font><font face="宋体" lang="ZH-CN">的数据库特性使你能很容易构造数据库应用程序。这些应用程序能访问</font><font
face="Arial">Visual dBASE</font><font face="宋体" lang="ZH-CN">、</font><font
face="Arial">Paradox</font><font face="宋体" lang="ZH-CN">、</font><font face="Arial">Local
InterBase Server for Windows</font><font face="宋体" lang="ZH-CN">等本地数据库和</font><font
face="Arial">Oracle</font><font face="宋体" lang="ZH-CN">、</font><font face="Arial">Sybase</font><font
face="宋体" lang="ZH-CN">、</font><font face="Arial">Informix</font><font face="宋体"
lang="ZH-CN">、</font><font face="Arial">SQL Server</font><font face="宋体"
lang="ZH-CN">和</font><font face="Arial">Remote InterBase Server</font><font
face="宋体" lang="ZH-CN">等客户</font><font face="Arial">/</font><font face="宋体"
lang="ZH-CN">服务器数据库。</font><font face="Arial"></p>
<p>BDE</font><font face="宋体" lang="ZH-CN">是</font><font face="Arial">Borland</font><font
face="宋体" lang="ZH-CN">公司支持</font><font face="Arial">Delphi 2.0 Client/Server
Suite</font><font face="宋体" lang="ZH-CN">、</font><font face="Arial">Paradox for
Windows</font><font face="宋体" lang="ZH-CN">、</font><font face="Arial">Visual dBASE
for Windows</font><font face="宋体" lang="ZH-CN">等产品的核心数据库引擎和互连软件。</font><font
face="Arial">BDE </font><font face="宋体" lang="ZH-CN">提供了丰富和强壮的特性支持客户</font><font
face="Arial">/</font><font face="宋体" lang="ZH-CN">服务器应用的开发。</p>
<p>  提供支持多种数据库如</font><font face="Arial">dBASE</font><font
face="宋体" lang="ZH-CN">、</font><font face="Arial">Paradox</font><font face="宋体"
lang="ZH-CN">、</font><font face="Arial">Text</font><font face="宋体" lang="ZH-CN">、</font><font
face="Arial">InterBase</font><font face="宋体" lang="ZH-CN">、</font><font face="Arial">Oracle</font><font
face="宋体" lang="ZH-CN">、</font><font face="Arial">Sybase</font><font face="宋体"
lang="ZH-CN">和</font><font face="Arial">Microsoft SQL Server</font><font face="宋体"
lang="ZH-CN">以及任何</font><font face="Arial">ODBC</font><font face="宋体"
lang="ZH-CN">数据源的统一和一致的应用程序编程接口</font><font
face="Arial">(API)</font><font face="宋体" lang="ZH-CN">。开发者能不用修改数据库应用就能访问不同的数据库站点和数据库格式:</p>
<p> </font><font face="Arial"> </font><font face="宋体" lang="ZH-CN">●</font><font
face="Arial"> BDE</font><font face="宋体" lang="ZH-CN">是用于开发客户</font><font
face="Arial">/</font><font face="宋体" lang="ZH-CN">服务器数据库应用的理想工具,数据库应用程序既可访问本地数据库又可访问远程数据库</font><font
face="Arial"></p>
<p></font><font face="宋体" lang="ZH-CN">●</font><font face="Arial"> </font><font
face="宋体" lang="ZH-CN">允许数据库用直接和灵活地访问数据源</font><font
face="Arial"></p>
<p></font><font face="宋体" lang="ZH-CN">●</font><font face="Arial"> BDE</font><font
face="宋体" lang="ZH-CN">对于</font><font face="Arial">Paradox</font><font
face="宋体" lang="ZH-CN">和</font><font face="Arial">dBASE</font><font face="宋体"
lang="ZH-CN">文件格式来是高性能的数据库引擎</p>
<p> </font><font face="Arial"> </font><font face="宋体" lang="ZH-CN">●</font><font
face="Arial"> </font><font face="宋体" lang="ZH-CN">支持使用</font><font
face="Arial">ISAM(Indextd Sequential Access Method)SQL</font><font face="宋体"
lang="ZH-CN">和</font><font face="Arial">QBE</font><font face="宋体" lang="ZH-CN">访问数据</p>
<p> </font><font face="Arial"> </font><font face="宋体" lang="ZH-CN">●</font><font
face="Arial"> BDE</font><font face="宋体" lang="ZH-CN">是数据集成化引擎,提高跨不同数据库的共享服务。支持不同数据库格式的相互转化,如</font><font
face="Arial">dBASE</font><font face="宋体" lang="ZH-CN">和</font><font face="Arial">Oracle</font><font
face="宋体" lang="ZH-CN">表、从</font><font face="Arial">InterBase</font><font
face="宋体" lang="ZH-CN">到</font><font face="Arial">Paradox</font><font face="宋体"
lang="ZH-CN">拷贝数据甚至建立</font><font face="Arial">InterBase </font><font

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -