咏南中间件和开发框架汇总.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
咏南中间件咏南中间件数据库配置菜单:选项—数据库1)咏南中间件使用FIREDAC数据引擎。2)咏南中间件可以支持市面上几乎所有的数据库:ORACLE、MSSQL、MYSQL、DB2、INFORMIX等。3)一个咏南中间件可以同时挂接多个不同类型的数据库,可以同时连接ORACLE或其它类型的数据库。4)咏南开发框架使用MSSQL类型的数据库。咏南开发框架数据库可以不需要转换为其他类型的数据库,如果你的项目使用非MSSQL数据库,你只需让咏南中间件同时挂2个数据库:一个是咏南开发框架数据库,一个是你的项目所使用的数据库。5)咏南中间件会为每一个挂接的数据库创建一个数据库连接池,通过帐套编号来唯一地标识每一个数据库,所以帐套编号必须是唯一的。默认第一个帐套是咏南开发框架数据库,帐套编号:0。咏南中间件插件配置菜单:选项—插件1)可以将项目所有的业务功能都封装成咏南中间件的插件,从而实现真正的【三层】,真正的【瘦客户端】。2)咏南中间件支持插件【热插拔】,增加新的插件,不需要重新启动中间件程序,升级中间件不需要停机。3)插件文件名,插件类名是大小写敏感的。4)插件基类,所有的插件都必须从TfrmPlugBase基类继承,并覆写GetSvrData()抽象方法。 TfrmPlugBase = class(TDataModule) private { Private declarations } public function GetSvrData(const accountNo, defineId: WideString; inParams: OleVariant): OleVariant; virtual; abstract; // accountNo,帐套编号// defineId=3位插件编号+2位自定义编号,defineId必须是唯一的,客户端通过defineId// 调用中间件的插件 // inParams,TDataSet.Params的OLEVARIANT序列 // 返回:NULL--默认不返回结果,非NULL--返回结果数据 end;5)插件DEMO// 服务端业务插件演示// 陈新光unit untPlug1;interfaceuses System.SysUtils, System.Classes, untPlugBase, untGlobal, Datasnap.DBClient;type TfrmPlug1 = class(TfrmPlugBase) private { Private declarations } public { Public declarations } function GetSvrData(const accountNo, defineId: WideString; inParams: OleVariant): OleVariant; override; end;var frmPlug1: TfrmPlug1;implementation{%CLASSGROUP System.Classes.TPersistent}{$R *.dfm}uses untDB, untDBPool, System.Variants;{ TfrmPlug1 }function TfrmPlug1.GetSvrData(const accountNo,defineId: WideString; inParams: OleVariant): OleVariant;// defineId=3位插件编号+2位自定义编号,必须是唯一的var d: TfrmDB; sql: string;begin d := GetDBPool(accountNo).Lock; if Assigned(d) then begin try if defineId = 12301 then begin sql := select * from sys_plugin; d.cds.Close; d.cds.CommandText := sql; d.cds.Params.Clear; if not VarIsNull(inParams) then UnpackParams(inparams, d.cds.Params); d.cds.Open; Result := d.cds.Data; end else if defineId = 12302 then begin sql := inser

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档