【问题标题】:Retrieve data from remote server in a stored procedure在存储过程中从远程服务器检索数据
【发布时间】:2015-04-26 12:42:05
【问题描述】:

假设我有一个存储过程,它从另一个服务器上的另一个数据库获取数据,如下所示:

SELECT * FROM [DatabaseServer].[DatabaseName].dbo.dbPerson

我可以设置一个链接服务器,它可以按预期工作。有没有办法在存储过程中连接到远程服务器而不创建链接服务器,即通过指定连接字符串以及要连接的用户名和密码?

我知道我可以使用 SSIS 做到这一点。我徘徊在存储过程中是否可能。

【问题讨论】:

标签: sql-server tsql stored-procedures


【解决方案1】:

正如 Zohar 所说,您可以像这样使用 opendatasrouce

Select 
*
from 
OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=_SQL_SERVER_NAME_;User ID=_LOGIN_;Password=_PASSWORD_'
             ).[DatabaseName].dbo.dbPerson
    WHERE ...

或者你可以使用不同的提供者并放置不同的连接字符串

【讨论】:

  • 谢谢。 opendatasource 是开箱即用的还是有任何先决条件?
  • 开箱即用,没有先决条件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2015-04-05
  • 2011-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-04
相关资源
最近更新 更多