排序:
默认
按更新时间
按访问量

DataSnap客户端共享服务器端的数据库连接

客户端的一个连接(SQLConnection)能够共享服务器方法对数据库的访问连接。这样就可以做到一个客户端连接唯一关联服务器端的一条数据库连接;通过该共享连接,在客户端可以直接执行数据库的SQL语句以及存储过程,并且可以与服务器端的调用方法处于相同的事务上下文中。   共享连接的实现,是通过...

2012-09-28 14:36:25

阅读数:4167

评论数:4

DataSnap服务器方法返回TClientDataSet的简易实现

DataSnap服务器方法不能直接返回TClientDataSet类实例,因为DataSnap不支持把TClientDataSet转化JSON对象,但是,DataSnap支持对TDBXReader的解析,我们可以在服务器端,利用TDBXReader的类方法,先把TClientDataSet实例转化...

2011-11-17 15:49:53

阅读数:7850

评论数:2

多层数据库应用基于Delphi DataSnap方法调用的实现(四)BLOB字段的读写

数据库的BLOB字段,可以用来保存字节流数据,比如图片、声音文件、html文档和大文本等等。Delphi传统的DataSnap技术,客户端数据集的数据包缺省不包含Blob字段数据,但可以在真正需要的时刻,实时自动从数据库取得,这种自动实现是基于IAppServer接口的。但在Da

2011-07-30 17:16:49

阅读数:4022

评论数:1

文档处理各阶段并发执行设计模式的实现

Delphi应用程序实际开发应用中,经常会遇到文档或数据的处理流水线,比如,要打印输出一系列文档,一般的做法,都是在主线程中一条线完成的,如下图所示:   这种方式的执行效率比较低,因为创建文档或打印文档阶段,可能都是比较耗时的,用户体验就是整个过程耗时比较长。实际上,整个流水线

2011-07-16 13:45:39

阅读数:1536

评论数:0

利用DataSnap进行数据流(TStream)的传递

<br />DataSnap服务器可以通过方法调用向客户端返回数据流,当然,也可以从客户端向服务器上传数据流,都是通过方法调用的方式来实现的。下面以一个简单的例子来演示。<br /> <br />服务器端实现:<br /> <br />{...

2011-02-15 13:57:00

阅读数:4530

评论数:4

多层数据库应用基于Delphi DataSnap方法调用的实现(三)对象池技术

<br />之前说到中间层通过向客户端暴露方法的方式提供服务,实现数据库数据的读取和更新。方法调用的方式,其潜在的意义,就是说中间层不保存客户端状态信息,就像WEB服务一样,客户端需要自己保存自己的状态信息。进一步说,就是中间层具体提供方法的业务对象实例,不是也不应该专属于某个客户端,...

2011-02-12 15:13:00

阅读数:6298

评论数:5

利用DataSnap的回调功能在客户端显示服务器方法的执行进度

DataSnap Callback 执行进度

2011-02-11 14:49:00

阅读数:5275

评论数:0

多层数据库应用基于Delphi DataSnap方法调用的实现(二)更新数据集

    传统的数据集的读取和更新,是通过中间层的TDataSetProvider来完成的。TDataSetProvider负责从它上游的数据集读取数据生成Data包,再传给客户端;另一方面,在客户端提交更新时(TClientDataSet.ApplyUpdates),TDataSetProvide...

2011-02-08 18:29:00

阅读数:10102

评论数:6

多层数据库应用基于Delphi DataSnap方法调用的实现(一)返回数据集

    从Delphi 2009开始,DataSnap技术发生了很大的变化,并在Delphi 2010和Delphi XE的后续版本中得到了持续的改进。Delphi 2009之前的DataSnap,虽然也实现了对中间层的方法调用,但那是基于COM技术的,实现起来比较麻烦,而且最关键的,是不能直接返...

2011-02-08 14:02:00

阅读数:12617

评论数:3

Instant Client简介

Instant Client是Oracle官方提供的轻量级绿色环保客户端程序包,能够方便和快速地进行安装和部署。它支持OCI, OCCI, Pro*C, ODBC, and JDBC接口。下面以windows平台为例,简单介绍一下它的安装过程。1、从官网上下载与数据库版本、本地平台版本相对应的In...

2011-02-07 10:10:00

阅读数:1902

评论数:0

Delphi XE增强的RTTI妙用--动态创建包中的窗口类

以前要在运行时创建package中的form类,必须要在form单元文件中这样注册类:Initialization  RegisterClass(TForm3);Finalization  UnRegisterClass(TForm3);然后在调用模块中,通过FindClass或GetClass函...

2011-02-05 13:45:00

阅读数:3611

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭