【问题标题】:Alternatives to using a linked server sql使用链接服务器 sql 的替代方法
【发布时间】:2018-09-04 21:20:09
【问题描述】:

我的托管计划不允许我在 SQL Server 中创建或配置链接服务器,只有在我的工作取得进展时才意识到这一点。所以更换托管公司是不可能的。我的问题是我可以使用哪些其他替代方法或技巧或技巧或方法来从同一实例上的两个不同数据库执行选择查询并为我提供要发布到数据库中的临时表的连接结果( A)这是我正在使用的主数据库。两个数据库中的表是相同的,我使用的是 c# asp.net 4.5.6。


经过更多的挖掘,我发现我完全错误地问了这个问题,我误解了我的情况,现在我发现了真正的问题。

如何构造一个选择查询,该查询将从同一 sql server 即时上的两个不同数据库上的两个相同表中返回一组结果。

【问题讨论】:

  • two different database on the same instance - 链接的 SERVER 中根本不需要。
  • 您想做什么,为什么需要链接服务器?为什么不在同一个数据库中使用多个数据库或多个模式?
  • @PanagiotisKanavos 请进一步前飞机,因为我正在寻找任何其他替代方案。
  • @IvanStarostin 那么你建议我做什么??
  • mssql cross database queries

标签: c# asp.net sql-server


【解决方案1】:

按照您第一篇文章中的 cmets...得出的结论是,您不需要使用链接服务器,因为您的数据库属于同一台服务器。

当您建立到 SQL Server 的连接时,您可以访问该服务器上的所有数据库(假设您可以访问它们)。 连接字符串中的初始目录用于告诉您希望连接字符串初始连接到哪个数据库。

回答您的问题:“....您如何构造一个选择查询,该查询将从同一 sql server 即时上的两个不同数据库上的两个相同表中返回一组结果。”

单个结果集的定义不是很清楚,但下面是两个示例,说明如何处理不同数据库中的表(在同一台服务器上)

select  column1,column2,etc.. from databaseA.yourSchema.yourTable t1
left join databaseB.yourSchema.yourTable t2 on t1.YourKey = t2.YourKey

如果你想简单地合并两个表:

Select * from databaseA.yourSchema.yourTable
UNION ALL 
Select * from databaseB.yourSchema.yourTable

【讨论】:

  • 感谢您花时间分析我的问题,这正是我一直在寻找的,作为一名自学成才的开发人员并且缺乏正规培训;我无法在第一个问题中正确表达我的要求,但最后一个代码为我做到了。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-21
  • 2019-11-11
  • 1970-01-01
  • 2022-08-12
  • 1970-01-01
  • 2011-09-14
相关资源
最近更新 更多