2016-11-23 7 views
1

私はSSMSでうまく動作しますが、SSRSでは動作しません。地理データ型を使用したこのクエリはSSMSでは動作しますが、SSRSでは動作しないのはなぜですか?

declare @or geography = 0xE6100000010CAE8BFC28BCE4474067A89189898A5EC0 
declare @dest int =1500 

select FirstName+' '+LastName As CustomerName, SpatialLocation as CustomerLocation from Person.Address PA 
left join Person.BusinessEntityAddress PBA ON PBA.AddressID=PA.AddressID 
left join Sales.Customer SC ON SC.CustomerID = PBA.BusinessEntityID 
left join Sales.Store SS ON SS.BusinessEntityID=SC.StoreID 
left join Person.Person PP ON PP.BusinessEntityID = PBA.BusinessEntityID 
WHERE CustomerID IS NOT NULL 
AND @dest >= (@or.STDistance(SpatialLocation)*0.62) 

そして、私はSSRSに次のように使用します:ここでは、SSMSである

select FirstName+' '+LastName As CustomerName, SpatialLocation as CustomerLocation from Person.Address PA 
left join Person.BusinessEntityAddress PBA ON PBA.AddressID=PA.AddressID 
left join Sales.Customer SC ON SC.CustomerID = PBA.BusinessEntityID 
left join Sales.Store SS ON SS.BusinessEntityID=SC.StoreID 
left join Person.Person PP ON PP.BusinessEntityID = PBA.BusinessEntityID 
WHERE CustomerID IS NOT NULL 
AND @dest >= (@or.STDistance(SpatialLocation)*0.62) 

私はそれがクエリを受け入れ、2つの@destと@orパラメータを作成することを期待、しかし、それはdoesnのt。私はあまりにもケースのクエリを確認した。どんなアイデアですか?

+0

SSRSがあなたのパラメータを認識していないようです。 SSRSの2つの変数のデフォルト値をいくつか設定して、結果が得られるかどうかを確認してみてください。 –

+0

これを試しましたが、うまくいかなかった。 – TheEsnSiavashi

+0

これはストアドプロシージャからのものかSSRSへの埋め込みですか? –

答えて

1

問題が解決しました。 SSRSでは地理的タイプのパラメータは認識されません。だから、私は最初にこのようなSTDistance機能で使用する前に、パラメータをキャスト:みんなの助けを

@dest >= cast(@or as geography).STDistance(SpatialLocation)*0.62 

感謝を!

関連する問題