盒子资源分类
delphi三层架构(使用SATRDA改造,客户端代码不变)
关键字:delphi 三层 SATRDA
来 自:原创
平 台:Win2K/2003/NT/XP,WIN8,Vista/WIN7
下载所需:0 火柴
深浅度:中级
完成时间:2017/5/10
发布者:cfr2k (奖励50火柴 )
发布时间:2017/5/17
编辑器:其他
语 种:简体中文
分 类:网络
下载浏览:509/17012
http://www.cnblogs.com/findumars/p/6028510.html 我们的delphi程序很多是以前开发的,采用典型的CS架构,由程序直接连接数据库。现在需要改成在外网可以直接操作软件。先把数据库搬到了阿里云上,测试发现直接连数据库和VPN连接测试速度很慢,直连还容易掉线。服务器申请大的带宽又太贵。把数据访问和一些业务逻辑改写成服务,由于软件太大,开发和测试需要投入大量工作,也不现实。最后通过使用SATRDA解决了问题。 SATRDA 服务器和客户端通过HTTP实现通讯,只有需要数据交互的时候才与服务器通讯,解决了连接掉线的问题。通过提供ODBC驱动的方式,使得客户端代码不需要改变,就实现了两层到三层的转换。 SATRDA使用过程 1. 首先打开server/config目录下的dbconfig文件, { "mssql": { "DBType": "odbc", "Provider": "driver=sql server;server=127.0.0.1;uid=sa;pwd=sql;database=test" }, "orcl": { "DBType": "odbc", "Provider": "driver=Oracle in OraDb10g_home1;SERVER=ORCL;uid=system;pwd=sql;EXC=T" } } 修改数据库连接设置。其中 mssql是客户端连接的名字,可以随意取,DBType为odbc是固定的。server对应数据库服务名,uid为用户名,pwd为密码,database为数据库名, 2. 运行satserver.exe 3. 修改连接字符串如下。 procedure TForm2.FormCreate(Sender: TObject); var server : string; db:string; begin server := '127.0.0.1:5555'; db := 'mssql';<span style="white-space:pre"> </span>//mssql就是上面配置的名称 <span style="color:#ff0000;"> ADOConnection1.ConnectionString := 'Provider=MSDASQL.1;Password=sql;User ID=sa;Extended Properties="driver=Smart ODBC Driver;server=' + server + ';DB_NAME=' + db + ';"'; ADOConnection1.CursorLocation := clUseClient; //注意需要设置为clUseClient</span> ADOStoredProc1.Connection := ADOConnection1; adoquery1.Connection := ADOConnection1; datasource1.DataSet := adoquery1; dbgrid1.DataSource := datasource1; end; 完成后,其它操作都和原来一样。速度对比: QQ群:345559891 (交流、下载最新版本)
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们 !
相关文章
相关评论
共有评论6条
当前显示最后6条评论
zhang_yang
2017/5/19 10:28:48
感谢楼主。能解释一下satRDA的原理吗?
bigboy2050
2017/6/13 14:27:51
厉害啊! 思路很独特!
bigboy2050
2017/6/13 14:29:03
SatRDA 是需要购买么?
xyxia
2017/6/28 16:57:19
我也遇到C/S程序远程运行的问题,我现在采用的方式是自己做了一个带加密和压缩功能端口映射程序,服务端和客户端各运行一个,程序的连接方式改为连接本地的客户端端口,现在用了2年,也还正常.
eagle36100
2017/9/21 22:35:00
稳定性如何?是否需要付费?
google220
2017/11/28 23:56:10
没源码,不推荐。
我要发表评论
查看全部评论