Как загрузить объединенные PDF-отчеты из SSRS с помощью ReportViewer в ASP.NET MVC?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как загрузить объединенные PDF-отчеты из SSRS с помощью ReportViewer в ASP.NET MVC?

Сообщение Anonymous »

Я разрабатываю приложение ASP.NET MVC и пытаюсь реализовать функцию, позволяющую пользователям загружать объединенные отчеты в формате PDF, созданные службами отчетов SQL Server (SSRS). У меня есть метод DownloadMergedPdf, который использует элемент управления ReportViewer для визуализации PDF-файлов.
Вот упрощенная версия моего кода:

Код: Выделить всё

public ActionResult DownloadMergedPdf(List Ids, string Title, string reportName)
{
List fileArray = new List();

if (Ids != null && Ids.Count > 0)
{
try
{
int totalReports = Ids.Count;
int currentReportIndex = 0;

foreach (var id in Ids)
{
currentReportIndex++;
int i = int.Parse(id);
string SoCt = db.PhieuThu.Where(x => x.Id == i).Select(x =>    x.SoPhieu).FirstOrDefault().ToString();

// Set the report path and parameters
reportViewer.ServerReport.ReportPath = "/DemoReport/" + reportName;
ReportParameter[] parameters = new ReportParameter[2];
parameters[0] = new ReportParameter("Id", id, true);
parameters[1] = new ReportParameter("Title", Title, true);
reportViewer.ServerReport.SetParameters(parameters);

// Render the report to PDF
byte[] pdfBytes = reportViewer.ServerReport.Render(
"PDF",
null,
out string mimeType,
out string encoding,
out string fileNameExtension,
out string[] streams,
out Microsoft.Reporting.WebForms.Warning[] warnings
);

if (pdfBytes != null && pdfBytes.Length > 0)
{
fileArray.Add(pdfBytes);
}
else
{
throw new Exception($"Error rendering report for ID {id}: PDF bytes are null or empty.");
}
}

var mergedBytes = MergePdfBytes(fileArray);
return File(mergedBytes, "application/pdf", "MergedReport.pdf");
}
catch (Exception ex)
{
// Log the error for debugging
System.Diagnostics.Debug.WriteLine("Error in DownloadMergedPdf: " + ex.Message);
return new HttpStatusCodeResult(500, "An error occurred while creating the PDF file: " + ex.Message);
}
}
else
{
return RedirectToAction("Index", "Home");
}
}
Проблема: при выполнении этого кода в IIS я столкнулся со следующими проблемами:
  • Разрешения, предоставленные пользователю ' IIS APPPOOL\YourAppPoolName» недостаточно для выполнения этой операции. (rsAccessDenied)
  • Путь к элементу «/DemoReport/» недействителен. Полный путь должен содержать менее 260 символов; применяются другие ограничения.
Вопрос:
  • Как я могу гарантировать, что приложение имеет необходимые разрешения для доступа к отчетам с помощью ReportViewer?
  • Какие действия следует предпринять, чтобы избежать ошибки rsInvalidItemPath при настройке пути к отчету?
  • Есть ли требуются ли на сервере какие-либо конкретные настройки для успешного рендеринга и загрузки объединенных PDF-файлов с помощью ReportViewer?
    Будем очень признательны за любые рекомендации и предложения!


Подробнее здесь: https://stackoverflow.com/questions/791 ... sp-net-mvc
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Отчеты SSRS — возврат списка отчетов.
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Объединение отчетов, созданных в формате PDF с помощью SSRS и ASP.NET.
    Anonymous » » в форуме C#
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Как заблокировать добавление языковых ресурсов для Microsoft.SqlServer.Types и Microsoft.ReportViewer в проект ASP.Net M
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как заблокировать добавление языковых ресурсов для Microsoft.SqlServer.Types и Microsoft.ReportViewer в проект ASP.NET M
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как добиться того же эффекта, что и ASP.Net MVC Server.Transfer в ASP.Net Core MVC?
    Anonymous » » в форуме C#
    0 Ответы
    98 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»