• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

delphi三层架构

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

我们的delphi程序很多是以前开发的,采用典型的CS架构,由程序直接连接数据库。现在需要改成在外网可以直接操作软件。先把数据库搬到了阿里云上,测试发现直接连数据库和VPN连接测试速度很慢,直连还容易掉线。服务器申请大的带宽又太贵。把数据访问和一些业务逻辑改写成服务,由于软件太大,开发和测试需要投入大量工作,也不现实。最后通过使用SATRDA解决了问题。

    SATRDA 服务器和客户端通过HTTP实现通讯,只有需要数据交互的时候才与服务器通讯,解决了连接掉线的问题。通过提供ODBC驱动的方式,使得客户端代码不需要改变,就实现了两层到三层的转换。

SATRDA使用过程

1. 首先打开server/config目录下的dbconfig文件,

 

[html] view plain copy
 
  1. {  
  2.     "mssql": {  
  3.         "DBType": "odbc",  
  4.         "Provider": "driver=sql server;server=127.0.0.1;uid=sa;pwd=sql;database=test"  
  5.     },  
  6.     "orcl": {  
  7.         "DBType": "odbc",  
  8.         "Provider": "driver=Oracle in OraDb10g_home1;SERVER=ORCL;uid=system;pwd=sql;EXC=T"  
  9.     }  
  10. }  

修改数据库连接设置。其中  mssql是客户端连接的名字,可以随意取,DBType为odbc是固定的。server对应数据库服务名,uid为用户名,pwd为密码,database为数据库名,

 

2. 运行satserver.exe

3. 修改连接字符串如下。

 

 

[delphi] view plain copy
 
  1. server := '127.0.0.1:5555';  
  2.   db := 'mycon1';  
  3.   
  4.   ADOConnection1.ConnectionString := 'driver=Smart ODBC Driver;server=' + server + ';DB_NAME=' + db + ';Uid=1;Pwd=;HTTPS=0;PB=0;' ;  
  5.   ADOConnection1.CursorLocation := clUseClient;   //注意需要设置为clUseClient  
  6.   ADOStoredProc1.Connection := ADOConnection1;  

完成后,其它操作都和原来一样。

 

 

阿里云单核1M带宽检索10W条记录,直连65秒,satrda不到3秒。

 

 

下载地址:

QQ群:374683171  (交流、下载最新版本)

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Matlab三维绘图发布时间:2022-07-18
下一篇:
MATLAB在Linux下的安装方法(待尝试)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap