日期:2014-05-17  浏览次数:20420 次

两个数据库间表相连的数据库连接字符串
小弟需要再1个sql语句中 同时join2个不同数据库的不同的表,目前sql语句写完跨了2个数据库的表 但是写c#代码需要2个链接字符串,就遇到问题了 如何在一个SqlDataAdapter(sql,SqlConnection)里 把两个链接字符串全加载进去呢?

不知道描述的明白不明白...

------解决方案--------------------
如果是同一服务器上的两个数据库,用数据库的全路径名就可以了。比如:

SELECT T1.*, T2.* 
FROM [DB1].[dbo].[Table1] AS T1
LEFT OUTER JOIN [DB2].[dbo].[Table2] AS T2
ON T1.ID = T2.ID

连接串中的initial catalog或database可以不填,或填缺省的那个数据库。

如果是不同服务器上的两个数据库,则需要先在其中一个服务器上建一个Linked Server:
http://msdn.microsoft.com/en-us/library/ff772782.aspx
连接串填建了Linked Server的那个服务器。
------解决方案--------------------
一个连接字符串就可以解决了:
select * from 当前数据库的表 inner join 第二个数据库的名.dbo.第二个数据库的表


select * from Test inner join LyTest.dbo.bank