如何通过一台服务器,间接访问存在另一台服务器上的数据库

zhustr 2015-02-27 10:03:17
情形是这样的:

外网服务器A、B
内网服务器C
数据库为sqlserver,存放在C
应用程序存放在A
服务器B可以访问C,A不能直接访问C

现在要实现A上的应用程序能够访问C上的数据库
涉及查询、插入、更新等各种操作
并发量会比较大,需要访问的效率比较高

应该怎么实现?
谢谢
...全文
1061 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2015-02-28
  • 打赏
  • 举报
回复
如果只是查询,可以考虑使用数据订阅,把 C 的数据发布到 B 服务器。 如果你们的时间富裕,可以考虑在 B 服务器上做一个中间服务,走数据报文。
coollcf 2015-02-28
  • 打赏
  • 举报
回复
这不就是数据库中间层吗. B机器上安装数据库中间层,B连接C数据库. A所有的数据处理访问B, 可以使用webservices,但webservices效率较低,也不太稳定.
zbdzjx 2015-02-27
  • 打赏
  • 举报
回复
webservice 在B上建webservice,A调用这些webservice,webservice代码中读C上的数据库,并将结果返回给A。
zhustr 2015-02-27
  • 打赏
  • 举报
回复
引用 1 楼 x_wy46 的回复:
可以参考B是如何访问A上面的数据库服务的 如果给C授权(类似B的方式)访问A上面的数据库可能会存在较大的隐患,可以尝试web服务之类的方法
最后要的效果是这样的 A上的应用程序使用B的ip地址,就可以对C上的数据库进行操作 对A来说,C是不存在的 B可以访问C,因为B、C在一个网关下面,只不过B有对外ip,而C没有 A在另一个网关,所以A只有B的ip地址。 A应用程序是C# C数据库是sqlserver
roguemaster 2015-02-27
  • 打赏
  • 举报
回复
1、将WebService放在B上,然后A调用B的接口,接口调用数据库C。 2、如果时效性要求不高的话,可以将C数据同步到B,然后A再访问B的数据,最后B将数据回传给C。
专注or全面 2015-02-27
  • 打赏
  • 举报
回复
可以参考B是如何访问A上面的数据库服务的 如果给C授权(类似B的方式)访问A上面的数据库可能会存在较大的隐患,可以尝试web服务之类的方法
俺是大菠萝 2015-02-27
  • 打赏
  • 举报
回复
为什么不允许A访问C,看你这需求,B要是个防火墙不就没这问题了么

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧