SSRS - страница 404 не найдена - PullRequest
0 голосов
/ 14 июня 2011

У меня есть сервер Windows 2008 с SSRS на SQL 2008. Это также веб-сервер с установленным Plesk.

Я уже некоторое время занимаюсь разработкой отчетов для этого сервера на сервере разработки.Все отлично работает на сервере разработки.Но я попытался перенести отчеты на работающий сервер, и у меня появляется следующая ошибка:

Ошибка сервера

404 - Файл или каталог не найдены.Ресурс, который вы ищете, мог быть удален, изменилось его имя или временно недоступен.

Я не уверен, почему это происходит, потому что когда я получаю доступ к URL-адресу отчетов, он работает нормально.Но как только я вызываю отчет в своем веб-приложении, размещенном на том же сервере, я получаю эту ошибку.Мое приложение написано на c # и asp.net.Вот часть кода, которую я использую для доступа к отчету.Любая помощь будет принята с благодарностью:

        string ExpId1 = Convert.ToString(Request.QueryString["Id"]).Trim();
        string ExpId2 = ExpId1.Replace("@", "+");
        Int32 ExpId3 = Convert.ToInt32(qsc.decryptQueryString(ExpId2));
        string id=ExpId3.ToString();
        ReportViewer1.Width = 1050;
        ReportViewer1.Height = 600;
        ReportViewer1.Style.Add("Overflow", "Scroll");
        ReportViewer1.ProcessingMode = ProcessingMode.Remote;
        IReportServerCredentials irsc = new CustomReportCredentials("user", "password", "server");
        ReportViewer1.ServerReport.ReportServerCredentials = irsc;
        ReportParameter[] para = new ReportParameter[2];
        para[0] = new ReportParameter();
        para[0].Name = "ExpHearderId";
        para[0].Values.Add(id);//any value

        para[1] = new ReportParameter();
        para[1].Name = "ExpHeadreId";
        para[1].Values.Add(id);//any value


        ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://xxx.xxx.xxx.xxx/reportserver_TGO");
        string path=Server.MapPath("~/ReportingofUsers/ExpenseClaimReport");
        ReportViewer1.ServerReport.ReportPath = path;
        ReportViewer1.ServerReport.SetParameters(para);
        ReportViewer1.ShowParameterPrompts = false;
        ReportViewer1.ServerReport.Refresh();
        ReportViewer1.Visible = true;

1 Ответ

2 голосов
/ 14 июня 2011

Это должно помочь: http://otkfounder.blogspot.com/2007/11/solving-reportviewer-rendering-issue-on.html

РЕДАКТИРОВАТЬ: Еще одна вещь.Я уверен, что при использовании сервера отчетов вы не должны использовать Server.MapPath.Просто укажите путь, как вы видите его на сервере отчетов, в вашем случае: /ReportingofUsers/ExpenseClaimReport.Это предполагает, что вы публикуете отчеты на сервере.

...