2012-05-10 87 views
1

詩情:是否可以查詢遠程服務器的鏈接服務器?從SQL Server的x64 /報紙FoxPro數據

  • SQL Server 2005的64位(默認實例)
  • 數據福克斯臨的.dbf。只有32位驅動程序可用(沒有x64驅動程序)

我需要從默認的SQL Server實例訪問FoxPro數據。我曾經使用SQL Server上創建的鏈接服務器來完成此操作,但在x64實例(驅動程序兼容性)上不再可能。

因此,我安裝了一個32位的新SQL Server實例(簡稱SS32),並在這個新實例上創建鏈接服務器以使用現有驅動程序訪問.dbf數據。

在這臺服務器,我可以查詢.dfb數據是這樣的:

  • select * from LinkedServerName...DbfTableName,它工作正常

但我仍然需要從默認實例訪問它。

所以,這是我

  • SQL服務器的x64默認實例
  • 的SQL Server 32(SS32)實例與鏈接服務器存取權限的FoxPro數據

有什麼辦法從默認實例查詢SS32中的鏈接服務器?你知道任何可能的選擇嗎?

回答

1

從您可以使用OPENQUERY到鏈接服務器上運行一個查詢的64位實例:

SELECT * 
    FROM OPENQUERY(x86LinkedServer, 'select * 
            from LinkedServerName...DbfTableName') 

還有this blog post關於什麼是(基本上)你的問題的變通方法:查詢32位數據源來自64位實例。

+0

非常感謝!你是對的,但你交換了參數。這就像一個魅力:select * from openquery([(local)\ ss32],'select * from LinkedServername ... DbfTableName')。請核心的答案,所以我可以說這是正確的。 – JotaBe