C# 如何从两个不同的数据库连接两个表,并使用C/ASP从MSSQL检索数据。如何管理连接字符串?

C# 如何从两个不同的数据库连接两个表,并使用C/ASP从MSSQL检索数据。如何管理连接字符串?,c#,asp.net,sql-server,connection-string,C#,Asp.net,Sql Server,Connection String,如何从两个不同的数据库连接两个表,并使用C/ASP从MSSQL检索数据。如何管理连接字符串 我有两个Sql Server数据库d1和d2,它们位于同一个物理服务器中。d1有桌上地址,d2有桌上电话。我想加入他们的C项目,我在谷歌上搜索并尝试了很多方法,但都失败了。如果有人能提供一个简单但完整且可运行的C示例项目,我们将不胜感激 [d1].[dbo].[address]: id name address 1 Adam add1 2 Bob add2 3

如何从两个不同的数据库连接两个表,并使用C/ASP从MSSQL检索数据。如何管理连接字符串

我有两个Sql Server数据库d1和d2,它们位于同一个物理服务器中。d1有桌上地址,d2有桌上电话。我想加入他们的C项目,我在谷歌上搜索并尝试了很多方法,但都失败了。如果有人能提供一个简单但完整且可运行的C示例项目,我们将不胜感激

[d1].[dbo].[address]:
id    name    address
1     Adam    add1
2     Bob     add2
3     Pete    add3
4     Hans    add4

[d2].[dbo].[telephone]:
id    addr_id    phoneNumber
1     2          632532
2     1          233257
3     4          343439
4     3          798111
addr_id是一个外键,它引用数据库d1中表地址的id

ConnectionString_d1 = "Data Source=ServerName;" + "Initial Catalog=d1;" + "User id=ui;" + "Password=pd;";
ConnectionString_d2 = "Data Source=ServerName;" + "Initial Catalog=d2;" + "User id=ui;" + "Password=pd;";
Certainly, you need change the two connection strings according to your own databases for the test.

SELECT t1.name, t1.address, t2.phoneNumber
FROM [d1].[dbo].[address] t1
INNER JOIN [d2].[dbo].[address] t2
ON t1.id = t2.addr_id;

请不要只告诉我上面提到的t-Sql语句,它只在MSSQL Management Studio中起作用,在C项目中不起作用。我需要一个简单但完整的C控制台应用程序的实现,可以构建和运行,提前感谢

我找到了解决办法


可以轻松编写一个存储过程,然后从C/ASP代码中调用该存储过程。完成

请共享添加的一些编解码器请参阅下面,现在尝试向我提供答案使用3部分命名连接到另一个实例上的表。执行查询时最好使用LinkedServer/Openquery。