假设我有一个存储过程从另一个服务器上的另一个数据库获取数据,如下所示:
SELECT * FROM [DatabaseServer].[DatabaseName].dbo.dbPerson
我可以设置一个链接服务器,它可以像我期望的那样工作。有没有办法在不创建链接服务器的情况下连接到存储过程中的远程服务器,即通过指定连接字符串以及要连接的用户名和密码?
我知道我可以用SSIS做到这一点。如果可以在存储过程中使用,我就会徘徊。
答案 0 :(得分:0)
正如Zohar所说,你可以像这样使用opendatasrouce
Select
*
from
OPENDATASOURCE(
'SQLOLEDB',
'Data Source=_SQL_SERVER_NAME_;User ID=_LOGIN_;Password=_PASSWORD_'
).[DatabaseName].dbo.dbPerson
WHERE ...
或者您可以使用不同的提供程序并放置不同的连接字符串