欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

pb三层架构

发布时间:2023/12/20 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 pb三层架构 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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

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

SATRDA使用过程

服务端配置

1.QQ群:345559891 群文件下载最新版本satrda。解压后,运行服务端server/satserver

2.启动satserver.exe后,打开浏览器(支持chrome,IE8以上,360等),输入http://127.0.0.1:5555/admin 显示登录窗口,账号和密码都输入satrda 登录到后台管理,可以进行相关配置。

3.选择左边连接管理,显示连接管理界面,用于设置服务端和数据库的连接

默认有3条连接配置,点击mycon1的修改操作图标,修改mycon1的配置

点击测试连接,显示连接成功后,点提交,进行保存。

PB客户端示例

客户端按示例修改连接字符串就可以,示例如下:

//原来的OLEDB直连 //SQLCA.DBMS = "OLE DB" //SQLCA.LogId = "sa" //SQLCA.LogPass = "sql" //SQLCA.AutoCommit = False //SQLCA.DBParm = "PROVIDER='SQLOLEDB',DATASOURCE='X6P2J80LPMLFALP\SQLEXPRESS',PROVIDERSTRING='database=test'"//改为 ls_server = "127.0.0.1:5555" ls_db = "odbctest"SQLCA.DBMS = "ODBC" SQLCA.AutoCommit = False SQLCA.DBParm = "ConnectString='driver=Smart ODBC Driver;UID=sa;PWD=123456;Server=" + ls_server +&";DB_NAME=" + ls_db + "'"

 

完成后,其它代码和原来一致,无需改变。

 

 

速度对比(其中服务器配置为阿里云单核1G内存1M带宽):

 

总结

以上是生活随笔为你收集整理的pb三层架构的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。