2016-11-23 5 views
1

У меня есть запрос, который хорошо работает в SSMS, но не работает в SSRS. Здесь в SSMS:Почему этот запрос с типом географии работает в 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:

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) 

Я ожидаю, что принять запрос и создать два @dest и @or параметры, но это Безразлично» т. Я также проверил запрос на случаи. Любые идеи, пожалуйста?

+0

Похоже, что SSRS не распознает ваши параметры. попробуйте установить некоторые значения по умолчанию для этих двух переменных в SSRS и посмотреть, получаете ли вы какой-либо результат. –

+0

Я просто попробовал это, но это не сработало. – TheEsnSiavashi

+0

Это из хранимой процедуры или встроенной в SSRS? –

ответ

1

Проблема решена! SSRS не реализует параметр с географией типа. Итак, я сначала применил параметр перед его использованием в функции STDistance следующим образом:

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

Спасибо за помощь!

 Смежные вопросы

  • Нет связанных вопросов^_^