2016-03-21 13 views
0

プロシージャとリンクサーバーに問題があります。 (単純なスキームは、画像で示したさ)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

を試してみてください。[データベース]。[DBO]。これは、フォーマットされ –

+0

[都市]、右。私はStackOverflowでミスヒットしました。それを修正します。 – NeuTronas

+0

空の結果は、クエリがサーバーを見つけることができない*ではない*一致するデータがないことを意味します。できなかった場合、エラーが発生します –

答えて

3
@CityName varchar = 'Kaunas' 

パラメータ@CityName varcharのサイズが不足していますか?形式は[Linkedserver]で

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

ありがとうございました。 – NeuTronas

関連する問題