Службы отчетов SQL Server 2005 и средство просмотра отчетов - PullRequest
1 голос
/ 01 апреля 2010

У меня проблема с встраиванием моего отчета в страницу aspx.

Вот мои настройки:1 Сервер под управлением SQL Server 2005 и служб отчетов SQL Server 20051 рабочая станция под управлением XP и VS 2005Сервер не находится в домене.Службы Reporting Services являются установкой по умолчанию.

У меня есть один отчет под названием TestMe в папке TestReports с использованием общего источника данных.

Если я просматриваю отчет в диспетчере отчетов, он отображается нормально.Если я просматриваю отчет, используя URL-адрес http: // myserver / reportserver, он отображается нормально.Если я просматриваю отчет, используя http: // myserver / reportserver? / TestReports / TestMe, он отображается нормально.Если я пытаюсь просмотреть отчет с помощью http: // myserver / reportserver / TestReports / TestMe, он просто переходит на страницу навигации по папкам домашнего каталога.

Мое веб-приложение выдает себя за кого-то конкретного, кто можетсервер не находится в домене.Когда я вызываю отчет из средства просмотра отчетов, используя http: // myserver / reportserver в качестве сервера и / TestReports / TestMe в качестве пути, я получаю эту ошибку:

По соображениям безопасности DTD в этом запрещенXML документЧтобы включить обработку DTD, установите для свойства ProhibitDtd в XmlReaderSettings значение false и передайте параметры в метод XmlReader.Create.

Когда я меняю сервер на http: // myserver / reportserver?Я получаю эту ошибку при запуске отчета:

Клиент обнаружил тип содержимого ответа '', но ожидаемый 'text / xml'.Запрос не выполнен с пустым ответом.

Я искал некоторое время и не нашел ничего, что решило бы мою проблему.Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Заранее спасибо,Кендра

1 Ответ

2 голосов
/ 02 апреля 2010

В SSRS есть два виртуальных каталога, представляющих интерес.

http://myserver/reportserver - это место, где находятся веб-сервисы. http://myserver/reports - это то, где находится интерфейс диспетчера отчетов.

http: // myserver / reportserver? / TestReports / TestMe работает, потому что вы обращаетесь к веб-службам и передаете параметр «адрес» нужного вам отчета. Заметьте? там, указывая, что остальное является параметром строки запроса

http: // myserver / reportserver / TestReports / TestMe пытается перейти в подкаталог виртуального каталога, который на самом деле не существует.

Чтобы ваша система работала с использованием анонимного доступа, вам нужно указать IIS, чтобы он выполнял пул приложений вашего веб-сайта как известный пользователь, у которого есть достаточные права для просмотра отчета. Вы можете настроить это в диспетчере отчетов (http://myserver/reports).

Посмотрите, как вы идете - удачи.

...