2016-03-21 39 views
0

我有一個Procedure和Linked服務器的問題。 (簡單的方案就是在圖像顯示)enter image description here存儲過程未找到鏈接的服務器

而且我選擇這作品就好(它選擇距離城市考納斯「所有的學生):

SELECT * FROM myserver.dbo.student 
    WHERE student.cityid = 
(SELECT [id] FROM [LinkedServer].[Database].[dbo].[city] 
    WHERE [name]='Kaunas') 

現在我試圖使存儲過程,可以以城市爲參數,選擇來自城市的學生。

CREATE PROCEDURE StudentByCity 
    -- parameters 
    @CityName varchar = 'Kaunas' 
AS 
BEGIN 
     SET NOCOUNT ON; 
     SELECT * FROM myserver.dbo.student 
     WHERE student.cityid = 
      (SELECT [id] FROM [LinkedServer].[Database].[dbo].[city] 
      WHERE [name][email protected]) 
END 
GO 

但是,正在執行的程序返回空白選擇。

+0

格式爲[Linkedserver] [數據庫] [DBO]。[城市] –

+0

它被格式化了吧。我錯誤地輸入了StackOverflow。將解決它。 – NeuTronas

+0

空的結果表示沒有匹配的數據,*不*表示查詢無法找到服務器。如果它不能,你會得到一個錯誤 –

回答

3
@CityName varchar = 'Kaunas' 

您是否缺少參數@CityName varchar size?嘗試

@CityName varchar(25) = 'Kaunas' 
+0

謝謝,這工作。 – NeuTronas

相關問題