【问题标题】:Ways to access table data from different servers从不同服务器访问表数据的方法
【发布时间】:2015-08-17 01:52:36
【问题描述】:

我需要.NET 中reportviewer 的数据但是最终报告涉及不同数据库a 和不同服务器中不同表之间的内部连接。我目前正在使用 XML 和动态 SQL 来集中我的代码查询。除了创建多个类似的存储过程或链接服务器之外,我还可以使用哪些更好的方法(新服务器将随时添加并映射到其中一个服务器数据库的表中)

【问题讨论】:

标签: sql .net sql-server xml sql-server-2008


【解决方案1】:

在包含包含数据库信息的表的主服务器中,您可以使用具有以下功能之一的动态 SQL:

OPENDATASOURCE (Transact-SQL)
提供临时连接信息作为四部分对象名称的一部分,而不使用链接服务器名称。

OPENDATASOURCE ( provider_name, init_string )

示例:
以下示例在服务器 London 上创建到 SQL Server Payroll 实例的临时连接,并查询 AdventureWorks2008R2.HumanResources.Employee 表。 (使用 SQLNCLI,SQL Server 将重定向到最新版本的 SQL Server Native Client OLE DB Provider。)

SELECT *
FROM OPENDATASOURCE('SQLNCLI',
     'Data Source=London\Payroll;Integrated Security=SSPI')
     .AdventureWorks2008R2.HumanResources.Employee

OPENROWSET (Transact-SQL) 包括从 OLE DB 数据源访问远程数据所需的所有连接信息。此方法是访问链接服务器中的表的一种替代方法,是一种使用 OLE DB 连接和访问远程数据的一次性临时方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多