使用SQLConnector和SQLCommand连接来自2个或更多数据库的表

本文关键字:多数据 数据库 2个 SQLConnector SQLCommand 连接 使用 | 更新日期: 2023-09-27 18:09:01

如何执行这样的查询;

    SELECT
    c.Name
    FROM db1..TableA a(nolock)
    join db2..TableA b(nolock) on a.id = b.id
    join db2..TableB c(nolock) on b.id = c.id
    join db2..TableC as d on c.id = d.id
    where c.id = '2314'

SQLConnectorSQLCommand ?似乎你一次只能连接到一个数据库。

我意识到我可以有两个SQLConnector实例,然后在我的c#代码中加入结果,但显然这将是一个可怕的解决方案。有什么简单的解决办法吗?

使用SQLConnector和SQLCommand连接来自2个或更多数据库的表

如果您引用的是单个服务器,那么您可以使用由三个部分组成的name
但是这个名字需要所有者,通常是dbo试着

 SELECT
    c.Name
    FROM db1.dbo.TableA a(nolock)
    join db2.dbo.TableA b(nolock) on a.id = b.id
    join db2.dbo.TableB c(nolock) on b.id = c.id
    join db2.dbo.TableC as d on c.id = d.id
    where c.id = '2314'

如果您在SSMS中右键单击表并单击select top 1000 rows,它将构建正确的3部分名称。

如果数据库位于不同的服务器上。

通过链接服务器,您可以在单个连接上访问多个服务器。

链接服务器(数据库引擎)

创建链接服务器

那么您只需通过单个连接引用4部分名称
该4部分名称不限于SSMS
这个由4部分组成的名称可以用于从。net连接。