第十八章-Delphi客户服务器应用开发(二)(3)

18.2.2.1 配置SQL Link驱动程序缺省设置的方法

SQL Link驱动程序缺省设置是指在BDE配置工具的Drivers页中的参数设置,这些参数在建立新的Alias中使用。Alias是描述网络资源的一组参数的集合。BDE应用使用Alias 联接共享数据库。Alias对于访问局部数据库并不是必要的,但要访问SQL数据库,却是必不可少。

SQL Links驱动程序的缺省设置,是你建立新的Alias 的原型。尽管你在建立Alias后能定制它,但在建立新的Alias前设置相应的缺省设置要来的容易。因为这样建立的每一个Alias将继承这些设置。

要描述驱动程序的缺省设置,要完成以下几项:

● 将亮条移到驱动程序的入口,驱动程序管理程序显示所有的该驱动程序的配置参数,在参数列表表端可用滚行杠检察各配置参数

● 如果需要编辑驱动程序的缺省配置参数,如果光标停在这格, 配置工作将自动套用缺省参数

● 当完成这些工作,选择File|Save,修改将在应用程序下一次启动时生效

18.2.2.2 SQL Links驱动程序的缺省设置项目的含义

1. VERSION

SQL Links驱动程序的版本号。

2. TYPE

描述当前驱动程序类型。SERVER就表示该驱动程序用于连接一个SQL服务器,FILE就表示驱动程序用于连接一个标准的基于文件服务器。

3. DLL选项

所选SQL Links的16位驱动程序的动态链接库名。

4. DLL32

所选SQL Links的32位驱动程序的动态链接库名。

5. DRIVER FIAGS

内部的产品描述标志。

6. TRACE MODE

描述记录跟踪信息的类型

7. SERVER NAME

指定目标SQL服务器名。如果指定为InterBase服务器,将包含数据库文件的全部路径,Servername:/Usr/gds/directoryname/databasenam.gdb

8. USER NAME

访问SQL服务器的缺省用户名。

9. OPENMODE

OPENMODE是SQL Links打开SQL数据库时的读写模式。取值可以是READ/WRITE或READ ONLY,缺省值是READ/WRITE。把OPEN MODE设为READ ONLY,将影响用户端的操作,但对SQL服务器没有影响。

10. SCHEMA CACHE SIZE

描述被贮存视图信息的SQL表个数。取值范围是0-32, 缺省值为8。

11. LANGDRIVER

用来操作来自SQL 服务器的数据的语言驱动程序。当光标停止LANGDRIVER域时,一个滚行框出现在正文域的左侧,用滚行杠可以用于你的驱动程序的可选的语言列表。如使用美国英语,该缺省值是空格。

当描述的语言驱动程序与一个服务器别名相适应,那么你的应用程序将使用该驱动程序处理从服务器发来的数据。这包括你察看的所有表和所有查询返回的结果表。运行在不同系统上的服务器利用字符集的转换来决定怎样对数据编码。如果你操作在非英语环境,你的BDE应用程序可以使用不同于SQL服务器的字符集。如果你的平台上的字符集同SQL服务器上的不匹配,那么在两种不同平台间传递数据将引起下列问题:

● 数据在你的平台上不正确的显示

● SQL数据库上将记录错误的字符

为防止这种情况的出现,SQL Links提供语言驱动程序,实现你的应用程序的字符集与SQL数据库的字符集的数据转换。这将使从SQL服务器传来的数据在你的平台上正确显示,或将你输入的数据可靠地传送到服务器上。

语言驱动程序包含有关排序和大小写转换的信息。无论何时,对SQL数据库的查询按本地数据库的规则处理应用程序的语言驱动程序用于评测排序的字符范围。 如果平台上的排序和大小写转换与SQL服务器上的不同,你的应用程序就会显示不一致的结果。

如果SQL数据库使用扩展字符集,请确信用于访问SQL 服务的别名中描述正确的,SQL Links语言版本选择的驱动程序的字符集应当与SQL服务器的相同。如果你没有找到合适的SQL Links语言驱动,你可修改别名中的SQLQRYMODE入口,防止按局部数据库规则处理查询。

12. SQLPASSTHRU MODE

描述应用程序访问SQL服务器时是否借助平台命令和传递式SQL。取值范围和它们的含义列于下表:

表18.3 SQLPASSTHRU MODE设置

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

设置 含 义

──────────────────────────────────────

NOT SHARED 传递SQL和非传递性SQL不共享相同的连接

SHARED AUTOCOMMIT 缺省值。传递SQL和非传递SQL将共享相同连接,传

递式SQL将以与非传递SQL相似的方式动作。 也就说

用户的传递式SQL表达式将被自动提交。

SHARED NOAUTOCOMMIT 传递式SQL和非传递式SQL将共享同一个连接,但SQL

驱动程序并不自动提交SQL表达式。在这种模式下,传

递行为是服务器独立的。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

SHARED AUTOCOMMIT和SHARED NOAUTOCOMMIT 模式并不支持所有的传递式表达式。当SHARED AUTOCOMMIT或SHARED NOAUTOCOMMIT模式被设置,在传递式SQL中不需执行事务控制语言。使用你的BDE应用编程语言来开始,提交回送事务。当传递式SQL和非传递式SQL共享一个连接,记录快存并不立即反映传递SQL操作的更新。

13. SQLQRYMODE

描述处理查询SQL数据的方法。取值范围含义列于下表,缺省值NULL:

表18.4 SQLQRYMODE设置

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

设置 模 式 含 义

──────────────────────────────────────

NULL Server-Local 在Server-local中,查询模式查询首先传递给SQL服

务器,如果服务器不能执行查询,查询就在本地执

行。

SERVER Server-Only 在Server-Only查询模式,查询被发送给SQL 服务

器。如果服务器不能执行查询,不执行本地查询。

LOCAL Local-Only 在local-only模式,查询总是本地执行。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

正常情况下,查询SQL数据库将在数据库服务器端被处理。然而,在某些情况下,完全在SQL服务器端执行的查询的结果不同于在本地执行的查询的结果。例如,你的BDE 应用程序查询函数执行在字符域的大小写敏感搜索。如果,服务器不支持大小写敏感搜索,那么Select语句的条件如“>A”在不同地方查询将产生不同的结果。 如果你想确信所有来自BDE应用的查询都按照SQL服务器上的规则来执行,那么你就应合理配置SQL Links驱动程序,阻止查询的本地处理。使用BDE配置工具修改SQL数据库别名,将SQL QRYMODE设置成SERVER就可做到这一点。新的SQLQRYMODE值将在应用程序下一次启动时生效。

时间: 2024-09-17 03:29:32

第十八章-Delphi客户服务器应用开发(二)(3)的相关文章

第十八章-Delphi客户服务器应用开发(二)(2)

BDE在设计上是面向对象的.在运行时,数据库应用通过建立各种类型的BDE 对象与BDE交互,这些运行的对象用于操作数据库实体如数据库表.查询.BDE的扩展的API支持C.C++.Delphi等对数据库引擎的访问. 在Delphi应用程序中访问数据库是通过调BDE的API函数.Delphi在库单元BDE中提供了大约三十多个API函数和各种BDE消息和结构.由于Delphi应用程序的开发是基于部件的,有关BDE API的调用都嵌入了Delphi可视部件类库,因此,建立数据库应用时可以不必管BDE A

第十八章-Delphi客户服务器应用开发(一)(1)

客户/服务器的开发工作涉及定义客户/服务器的体系结构, 然后再将该结构与其它一些对于客户/服务器的实现至关重要的系统结构和技术集成起来.Delphi 2.0的Client/Sever版支持用户开发客户/服务器结构的应用程序.本章中我们将阐述客户服务器体系结构原理.如何用Delphi构建客户/服务器的环境和Delphi存取远程SQL服务器的编程和注意事项. 18.1 Delphi客户/服务器应用开发原理 18.1.1 客户/服务器体系结构 18.1.1.1 体系结构概述 客户/服务器系统的体系结构

第十八章-Delphi客户服务器应用开发(一)(4)

18.1.3.5 Oracle RDBMS Oracle RDBMS为以任务为中心的企业范围的应用提供所需要的操作.监督和管理软件.使用Oracle RDBMS的分布式数据库和网点能力,用户可以透明地集成该企业的新旧数据.系统和应用程序.Oracle被分组形成几个软件包,使得客户可选地获取他们自己的应用所需要的功能.这些软件包是: ● 标准Oracle软件包 ● 过程化选件软件包 ● 分式式对象软件包 ● 并行服务器选件软件包 ● 开放网关软件包 标准Oracle软件包提供解决大量关键任务的联机

第十八章-Delphi客户服务器应用开发(四)(1)

18.3.4.1 适化概述 所谓适化就是将桌面应用转化为Client/Server应用. 适化是一个很复杂的主题,这里不详细讲述.本节将介绍适化Delphi 应用程序中最重要的方面. 适化的主要方面有: ● 将数据库从桌面平台到服务器的适化 ● 将应用程序转化为Client/Server的适化 适化还需要实现从桌面环境到Client/Server环境的转化. 桌面数据库和SQL服务器数据库在许多方面有不同之处.例如: ● 桌面数据库用于同一时刻单用户的访问,而服务器用于多用户访问 ● 桌面数据库

第十八章-Delphi客户服务器应用开发(二)(1)

18.1.4.1 本地型数据库接口 本地型数据库是伴随微机的产生而产生的.dBASEII作为最早的并仍在使用的系统之一就是典型的本地型数据库. 本地型数据库管理系统的数据存放在一个本地硬盘上.DBMS接受来自用户或用户程序的命令.这些命令通常是系统特有的数据库管理语言.命令被转换为简单的磁盘访问命令,并交付文件系统来处理.然后DBMS接收来自磁盘上的数据,并加以处理. 在本地型DBMS应用中,数据库引擎(DBE)运行于工作站上.图18.2暗示数据是存放在工作站的局部驱动器上,其实在网络中,数据还

第十八章-Delphi客户服务器应用开发(一)(3)

18.1.3 各种数据库服务器功能介绍 服务器数据管理包括若干软件,它们使用户可以访问网络中的任何节点以及确保多用户环境下的保密性.可恢复性和完整性.如前面所提到的,客户/服务器计算中的基本存取链路是SQL,它是一种高级非过程数据库语言, 现在已开发出很多支持SQL 的后端服务器及DBMS.下面将描述这些产品. 18.1.3.1 DB2 DB2是一种由IBM公司开发的RDBMS.它使用SQL执行所有的数据库操作.数据定义.数据存取.数据操作以及授权功能.SQL语句由用户在一个客户机节点从键盘输入

第十八章-Delphi客户服务器应用开发(一)(2)

18.1.1.4 中间件概述 中间件是一个软件层,它保护应用程序开发人员避免受到各种通信协议.操作系统以及数据库管理系统的影响.它为建立可与以前沿袭下来的应用程序并存的新应用程序打下了基础. 中间件有好几种类型.它们包括应用程序设计接口(API),远程过程调用(RPC),网络通信.数据库访问以及计算机辅助软件工程(CASE)工具. 由于客户/服务器系统需要集成各种不同结构的机器和技术,因而应用程序设计相当复杂.选择适当的中间件可以消除程序设计人员为每个单独协议和操作系统编写代码的麻烦. 18.1

第十八章-Delphi客户服务器应用开发(四)(4)

在CSDEMO应用程序中另一个使用存储过程的TStoredProc部件是DeleteEmployeeProc.它完成的任务是删除Employee表中的记录,并修改所有相关的表, 以维护数据的一致性.其属性如下: 表18.20 DeleteEmployeeProc部件主要属性的取值 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 属性名 属 性 值 ────────────────────────── DataBaseName EmployeeDemoDB ParamBindMode PbB

第十八章-Delphi客户服务器应用开发(四)(2)

18.4.1.2 数据库结构介绍 IBLOCAL数据库的结构都是由InterBase服务器工具交互式SQL工具(ISQL)定义的. 用ISQL定义数据库,首先要用Create Database命令建立数据库,建立的新数据库一般是以GDB为扩展名.建立好后,就可以用SQL语言定义数据库表,例如建立EMPLOYEE表的SQL语句如下: 定义域名数据类型: CREATE DOMAIN FIRSTNAME AS VARCHAR(15); CREATE DOMAIN LASTNAME AS VARCHAR

第十八章-Delphi客户服务器应用开发(三)(5)

18.3.3 使用存储过程 18.3.3.1 TStoredProc部件概述 存储过程是以数据库服务器为基础的接受输入参数,并将结果返回给应用程序的一段程序.TStoredProc部件操作远程服务器上的数据库中的存储过程.存储过程是一连串表达式的集合,作为服务器的一部分存储.存储过程在服务器上执行一系列重复性的与数据库相关的任务,并将结果传给客户应用程序,如Delphi数据库应用程序. TStaredProc部件使Delphi数据库应用程序能执行服务器上的存储过程. 通常,作用于数据库表中大量记