Сервер отчетов выдает ошибку для метода RunEmbeddedQuery для источника данных XML - PullRequest
0 голосов
/ 24 февраля 2012

Этот сценарий получился.Есть сервер SSRS, у которого есть отчет, где источник данных имеет тип XML, и он использует проверку подлинности Windows, больше ничего для него.Внутри отчета есть набор данных, который использует этот источник данных вместе с этим для запроса "= Code.ReportUser.GetListOfItems ()".Это вызывает метод в пользовательской сборке, который подключается к базе данных и возвращает данные в строке, сформатированной следующим образом (угловые скобки заменены на фигурные для чтения

"<Query><XmlData><Items>" + xmlDocument.DocumentElement.InnerXml + "</Items></XmlData></Query>" 

, где sql datatable записывается в xmlDocument. Если яперейдите на сервер отчетов через IE и запустите отчет, все работает как надо. Проблема возникает, когда вы добавляете эту ссылку в приложение Zangle, которое запускается как «URL-адрес отчета IEHOST.app». Я считаю, что это приложение foxpro, которое открываетсясбой объекта браузера и отчета в наборе данных, который использует мой источник данных xml. Нет сомнений в правильности URL или отчетов, поскольку он работает в другой среде.

Это ошибка сервера, которую я получаю:

library!ReportServer_0-8!ca0!02/24/2012-10:18:45:: 
   Call to GetPermissionsAction(path to my report).
library!ReportServer_0-8!e68!02/24/2012-10:18:45:: 
   Call to GetSystemPropertiesAction().
library!ReportServer_0-8!e68!02/24/2012-10:18:45:: 
   Call to GetPropertiesAction(path to my report, PathBased).
library!ReportServer_0-8!10bc!02/24/2012-10:18:45:: 
   Call to GetSystemPermissionsAction().
library!ReportServer_0-8!e68!02/24/2012-10:18:45:: 
   Call to GetSystemPropertiesAction().
processing!ReportServer_0-8!10bc!02/24/2012-10:18:45:: 
   e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , 
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 
   Error during processing of the CommandText expression of dataset ‘Items’.;
processing!ReportServer_0-8!10bc!02/24/2012-10:18:45:: 
   e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , 
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 
   Cannot set the command text for dataset 'Items'. ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 
   Error during processing of the CommandText expression of dataset ‘Items’.
   at Microsoft.ReportingServices.OnDemandProcessing.RuntimeDataSet.RunEmbeddedQuery(Boolean& readerExtensionsSupported, Boolean& readerFieldProperties, List`1 queryParams, Object[] paramValues)
   --- End of inner exception stack trace ---;

Я не уверен, что именно это означает. Есть мысли? Похоже, проблема с разрешениями, но я не понимаю, где. Я пытался изменить аутентификацию источника данных xml с windows на none, а затем добавить ADучетная запись как исполняющий пользователь на сервере отчетов. Это не изменилосьвсе, что по-прежнему работает из браузера, но из объекта браузера Zangle.Еще одна вещь: серверу требуется аутентификация и весь отчет независимо от запроса среды на вход в систему и успешной аутентификации, поэтому мои учетные данные передаются на сервер, и только мой источник данных xml выдает ошибку при запуске из Zangle.Пожалуйста, поделитесь своими идеями.Я программист, но я не слишком разбираюсь в серверах и плохо знаком с SSRS.Спасибо.

1 Ответ

0 голосов
/ 28 февраля 2012

Решено. Оказывается, что приложение foxpro в нижнем регистре все, и имя сервера sql, переданного сборке, не совпадает с именем, сохраненным в сборке. Глупо :) Так что теперь мы будем сравнивать все в нижнем регистре.

...