C# Ошибка с рабочим запросом SQL - имя переменной уже объявлено

Приведенный ниже запрос прекрасно работает в SQL Management Studio и в Altiris. Когда мы пытаемся добавить код в наш собственный инструмент отчетности, написанный на C#, мы получаем ошибку выше.

Declare @AcroPro        int
Declare @AcroStan       int

set @AcroPro = (select COUNT(distinct guid) from vAdobe_Acrobat_Pro where [Display Name] like '%Professional')
set @AcroStan = (select COUNT(distinct guid) from vAdobe_Acrobat_Stan where [Display Name] like '%Standard')

select distinct v2.name 'Software Product', t2.[Purchased Licenses], CASE 

      When t2._resourceguid = '8708D8B8-51A0-4386-B4A1-620CC63DEF0D'
      Then @AcroPro
      When t2._resourceguid = '37997FB9-9936-42CF-A34C-D68214C353CF'
      Then @AcroStan
      End [Active Licenses], CASE 

      When t2._resourceguid = '8708D8B8-51A0-4386-B4A1-620CC63DEF0D'
      Then t2.[purchased licenses] - @AcroPro
      When t2._resourceguid = '37997FB9-9936-42CF-A34C-D68214C353CF'
      Then t2.[purchased licenses] -@AcroStan
      End [Compliance] from vComputer v1

inner join Inv_SoftwareProduct_InstallationInfo t1 on v1.Guid = t1._computerResourceGuid
inner join Inv_SoftwareProduct_ComplianceInfo t2 on t1._ResourceGuid = t2._ResourceGuid
inner join vSoftwareProduct v2 on t2._ResourceGuid = v2.guid

where v2.name in ('Adobe Acrobat Professional', 'Adobe Acrobat Standard')

and v1.IsManaged = '1'

1 ответ

Ваш инструмент создания отчетов может отправлять один и тот же набор команд SQL дважды в одном пакете запросов, и в этом случае эти переменные будут повторно объявлены.

Другие вопросы по тегам