关闭

跨服务器、跨数据库、多表联合查询

发表于:2015-5-21 10:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:新手初学    来源:51Testing软件测试网采编

  最近项目用到了跨数据库的多表联查,项目用的是MVC4+EF,项目用到了很多数据库,每一个数据库都得建一个edmx文件,造成了项目的大量的edmx文件,这样给人一种项目很庞大很复杂,无疑间加剧了程序员编写代码的复杂度。
  如果是不同的服务器上的多表联查的话,会更加复杂。
  下面我讲一讲我自己的思路:
  首页假如我们有3台服务器,分别是操作数据库的服务器A,第二台服务器B192.168.1.136,第三台服务器C192.168.1.125
  注:关闭服务器上的防火墙(查询出错的话)
  我们在A服务器上建立UserA数据库的User_TA表,B上建立UserB数据库的User_TB表,C上建立UserC数据库的User_TC表
  User_TA表:
  User_TB表:
  User_TC表:
  实例代码:
select*from
(
select
*
fromopendatasource
(
'SQLOLEDB',
'DataSource=192.168.1.136;UserID=sa;Password=000'
).UserB.dbo.UserTBast1
)astt1
join
(
select
*
fromopendatasource
(
'SQLOLEDB',
'DataSource=192.168.1.125;UserID=sa;Password=123'
).UserC.dbo.User_TCast1
)astt2ontt1.UserID=tt2.UserID
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号