收藏 分享(赏)

基于firedac开发datasnap三层数据库应用.doc

上传人:无敌 文档编号:147836 上传时间:2018-03-22 格式:DOC 页数:4 大小:52.50KB
下载 相关 举报
基于firedac开发datasnap三层数据库应用.doc_第1页
第1页 / 共4页
基于firedac开发datasnap三层数据库应用.doc_第2页
第2页 / 共4页
基于firedac开发datasnap三层数据库应用.doc_第3页
第3页 / 共4页
基于firedac开发datasnap三层数据库应用.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、基于 FireDAC 开发 DataSnap 三层数据库应用 刘之烨 雷聚超 胡静宜 西安工业大学计算机科学与工程学院 摘 要: 服务器与数据库之间的连接直接影响了 DataSnap 三层数据库应用系统的传输效率。现阶段主流的连接技术为 ADO 与 dbExpress。但是开发过程中存在着数据引擎兼容性不高、封装繁琐、连接逻辑复杂等问题。因此提出使用 FireDAC 数据引擎开发 DataSnap 三层 C/S 结构的数据库应用。文章根据在 Delphixe10 平台的开发过程得出 FireDAC 数据引擎具有连接逻辑简单, 数据库兼容性强等优点, 更适合用于开发 DataSnap 三层数据库

2、应用。关键词: FireDAC; DataSnap 技术; 三层 C/S 结构; 引言三层 C/S 结构较于传统的两层 C/S 结构具有更好稳定性、安全性、易维护性, 同时也具有更快的响应速度等优点。因此在开发大型数据库应用系统的过程中, 三层 C/S 结构的应用越来越普遍。Delphi 是一个功能强大, 基于 Windows 环境, 面向对象的可视化应用软件开发工具。它结合了传统的编程语言 Object Pascal 和数据库语言的强大功能, 既可以用于传统算术编程又可以用于数据库编程。Delphi 中的 Data Snap 技术体系, 提供了客户端和应用服务器之间传递数据库信息的机制, 同

3、时丰富的组件库给程序的设计带来极大的便利。Delphi 已经成为当前最流行的 C/S 开发工具之一。开发 Data Snap 三层数据库应用的过程中, 必须首先建立与数据库之连接, 它是应用程序和后台数据库之间交换数据的前提。1 Fire DAC 基本原理Fire DAC 不使用 IApp Server 接口, 而是把 Data Snap 服务器当作 API 来呼叫。客户端使用 TFDConnection 组件通过 TCP/IP 或 HTTP/HTTPS 协议连接使用 Fire DAC 开发的 Data S-nap 服务器, 使用 TFDStored Proc 组件呼叫服务器 API。如果客户

4、端呼叫的 API 需要回传数据, 那么 Fire DAC 会以 Stream 的格式传递数据, 如果要对数据进行包含异动的工作, 那么可以搭配使用 Fire DAC 的中央快储功能来帮助程序员对数据进行异动。在 Data Snap 架构中要使用 Fire DAC 的中央快储功能, 需要在应用服务器使用TFDSchema Adapter 组件。而在 Fire DAC 客户端则需要使用 TFDTable Adapter组件把客户端 TFDMem Table 罪案中的数据从应用服务器取回或是从客户端把异动的数据更新回应用层服务器。因此要使用 Fire DAC 开发 Data Snap 应用, 需要下

5、列步骤:(1) 开发使用 Fire DAC 的 Data Snap 服务器, 并使用 Fire DAC 中央快储功能。(2) 开发使用 Fire DAC 的客户端, 使用 TFDConnection 连接服务器。(3) 使用 TFDStored Proc 组件呼叫服务器 API。(4) 处理数据流 (Stream Data) 。(5) 使用 TFDStored Proc 组件呼叫服务器的 API 把异动数据回传给 Fire DAC的 Data Snap 服务器, 再由 Fire DAC 的中央快储功能把数据更新回数据库。2 三层数据库应用的实现过程2.1 创建数据库(1) 在 Mysql 中创

6、建名为 XATU 的数据库, 在数据库中创建 TEST 表, 增加两列, 列名分别为“xm”和“xh”并录入信息作为查询之用。(2) 将 My SQL 的动态链接库文件 libmysql.dll 存放到 C:WINDOWSSYSTEM32目录下。2.2 创建 Data Snap 服务器(1) 主菜单“File”-“New”-“Other”在“New Items”对话框中选择Data Snap Server, 启动向导。“Project Type”选择“Forms Application”、“Application Type”选择“VCL Application”默认 TCP/IP 为通讯协议,

7、 测试端口 211, 选择 TDataModule 作为服务器端 API 类别。完成后, 生成三个工程文件 Server Container Unit1.pas、Unit1.pas。Server Methods Units Unit1.pa s 存放网络服务相关的控件, Unit1.pas 是服务器的主界面, Server Container Unit1.pas 是我们需要进一步开发的工程文件。(2) 打开 Server Methods Units Unit1.pas, 加入 TFDSchema Ad apter、TFDQuery、TFDStan Storage JSONLink 等组件。TF

8、DStan Stor age Bin Link 和 TFDStan Storage JSONLink 的作用是让 Fire DAC 可以处理 2 进制 (TCP/IP) 和 JSON (Http) 格式的数据。(3) 进入 Code 单元, 在 Public 下添加代码“function GET:TStream;”。添加的 GET 方法可以让客户端查询信息。Fire DAC 中要在客户端和应用服务器之间传递数据, 只需要传递 TStream 形态的数据。GET () 方法首先建立一个TMemory S-tream 对象, 再开启 FDQuery1 组件取得数据, 然后把 FD-Query1 组

9、件中的数据对象通过 TMemory Stream 类中的 SaveTo Stream 方法拷贝到TMemory Stream 对象中, 最后把 TMemory Stream 对象回传给客户端。(4) 编译运行 Data Snap 服务器。2.3 创建 Data Snap 客户端(1) 主菜单“File”-“New”-“Muti-Device Application”, 在窗体中添加 TFDConnection、TFDGUIx Wait Cursor、TFDPhysDSDriver Link 等组件。(2) 在主界面的 Button1 的 On Click 事件中呼叫 GETXX () 方法和

10、SHOWXX () 方法。GETXX 方法获取数据, SHOWXX () 方法展示数据。GETXX () 方法只需要呼叫 FDStored Proc1 的 Exec Proc () 方法, Fire DAC就可以呼叫 Data Snap 服务器中指定的服务方法 (GET) , 呼叫成功后 Data Snap 服务器回传的数据回存储在 FDStored Proc1 的第一个参数中, 型态是 ft Blob。创建一个 TString Stream 对象把 FDStored Proc1 的第一个参数内容作为建构元参数, TString Stream 对象的内容就是回传的结果, 把 TString S

11、tream 对象包含的数据流位置设定到起始位置, 再通过 FDMem Table1 组件的Load From Stream () 方法从 TString Stre am 对象中读取数据流并还原。(3) 编写代码并执行客户端, 点击 Button 按钮, 数据库中的信息已经通过应用层服务器传输到客户端, 并展示在 List View 组件中。至此一个基于 Fire DAC 的 Data Snap 三层数据库应用已经搭建完成, 进一步的开发除了需要根据用户需求完善客户端界面外, 还需要根据需求编写对应的应用层业务逻辑, 完成相应的功能。3 结束语根据以上开发过程可以得出 Fire DAC 有以下优

12、点:(1) 跨数据库平台。Fire DAC 作为一个通用数据访问库, 用于开发与企业数据库连接的多个设备的应用程序。通过其强大的通用架构, Fire DAC 可实现从Delphi 到 Inter Base, SQLite 的本机高速直接访问。(2) 访问快速。Fire DAC 数据集建立在强大的数据访问引擎之上。这种轻便, 有效和灵活的引擎可以直接在应用程序中使用, 并且是数据集 API 的强大基础。(3) 良好的兼容性。Fire DAC 可以使用 TData Set 后代类, 包括 TFDQuery, TFDMem Table, TFDStored Proc 和 TFDTable。同时数据集

13、类与原始 BDE 数据集和 Client Data Set 高度兼容。Fire DAC 技术和 Data Snap 技术相结合, 为三层数据库应用的开发提供了良好的支持, 为构建满足不同需求的多层 C/S 体系的数据库应用程序打下了良好基础。定会成为日后开发三层数据库应用的主流趋势。参考文献1李文生.采用 Delphi 实现三层客户/服务器数据库应用程序J.计算机工程, 2000 (7) :170. 2张志强.基于 Data Snap 技术实现三层 C/S 体系的数据库应用J.软件导刊, 2011 (10) :167. 3杨长春.Delphi 程序设计教程M.北京:清华大学出版社, 2016.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报