2015-04-26 23 views
2

說我有一個存儲過程,從另一個數據庫這樣的另一臺服務器上獲取數據:檢索來自遠程服務器的數據

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

我可以設置鏈接服務器和它的作品,我會期望。有沒有辦法在存儲過程中連接到遠程服務器而不創建鏈接服務器,即通過指定連接字符串以及連接的用戶名和密碼?

我知道我可以用SSIS來做到這一點。如果在存儲過程中有可能,我會漫遊。

+0

閱讀[OPENDATASOURCE(https://msdn.microsoft.com/ EN-US /庫/ ms179856.aspx)。 –

+1

和關於[openrowset](https://msdn.microsoft.com/en-us/library/ms190312.aspx) –

回答

0

正如瑣說,你可以使用opendatasrouce這樣

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

,或者你可以使用不同的供應商,並把不同的連接字符串

+0

謝謝。 opendatasource是開箱即用還是有先決條件? – w0051977

+0

開箱,沒有先決條件 –