2013-05-27 29 views
1

由於鏈接服務器不容易發送openrowset查詢我通過SQLCMD模式直接連接到遠程Sql Server。但是,使用查詢分析器就可以了。當我把代碼存儲過程我甚至無法保存:在存儲過程代碼中調用sqlcmd命令

:Connect x.x.x.x -U sa -P password 
select * 
from openrowset('VFPOLEDB','\\share\db\s_object.dbf';''; 
    '','SELECT * FROM s_object where i_class=21 order by 1') 

附近有語法錯誤:「。當啓用SQLCMD模式

+0

SQL Server Management Studio具有[sqlcmd兼容模式](http://msdn.microsoft.com/en-us/library/ms174187.aspx) 。古老的查詢分析器有一個類似的模式,但你必須與老人談談,看看如何啓用它... –

回答

2

SQLCMD模式:connect語法是SSMS和QA有效,但它永遠是一個客戶端命令,通過SSMS或QA本身執行,從來沒有發送到引擎。因此絕不可將其嵌入到服務器端模塊中,如存儲過程。如果你確實是指存儲過程,那麼難怪語法錯誤...

+0

我很抱歉,你的詳細回覆後很長的延遲 - 我正在尋找任何其他解決方案來實現openrowset /對鏈接服務器進行開放式查詢。其實你回答我的問題,我需要打開另一個步驟找到解決方案。 – revoua

相關問題