bjay tiamsic Ответов: 1

"Неверный путь к файлу отчета" c# crystal report


Привет, я не уверен, почему я получаю эту ошибку " неверный путь к файлу отчета"
Изображение: Нажмите на меня, чтобы просмотреть изображение ошибки


Я на 100% уверен, что отчет находится в правильном пути, я даже пытался поставить весь путь (например, C:\Users\IAmTheUser\Desktop\MyProject\Reports\MyReport.rpt

Что я уже пробовал:

ReportDocument rptDoc = new ReportDocument();
       string strRptLoad = Server.MapPath("../Reports/MyReport.rpt");
       rptDoc.Load(strRptLoad);
       //rptDoc.Load("C:\\Users\\IAmTheUser\\Desktop\\MyProject\\Reports\\MyReport.rpt");

       DataSetPrintAll.spSelectReimbursePrintAllDataTable dt = new DataSetPrintAll.spSelectReimbursePrintAllDataTable();
       dtPrintAllAdapter printAdapter = new dtPrintAllAdapter();

       dt = printAdapter.GetData(transactionNo);
       DataSet ds = new DataSet();
       ds.Tables.Add(dt);

       rptDoc.SetDataSource(ds);
       crPrint.ReportSource = rptDoc;
       crPrint.DataBind();
       crPrint.DocumentView = CrystalDecisions.Shared.DocumentViewType.PrintLayout;
       crPrint.Dispose();

Afzaal Ahmad Zeeshan

Вы уверены, что эти папки тоже существуют? Проблема может быть вызвана отсутствием папки.

bjay tiamsic

Да. Он включен в мой проект.

[no name]

Веб-серверы, как правило, не имеют доступа ко всей файловой системе.

bjay tiamsic

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

[no name]

Ничто из того, что вы сказали, ничего не меняет. Вы работаете локально на веб-сервере.

1 Ответов

Рейтинг:
1

Nayan Ambaliya

Попробовать следующее;

string strRptLoad = Server.MapPath("/Reports/MyReport.rpt"); //remove double dots ..


Как правило, когда вы указываете сервер.MapPath-это дает вам корень каталога приложения, а затем следуйте за папками внутри.
Вы можете использовать сервер.MapPath из любых страниц - не имеет значения, находятся ли эти страницы в подкаталогах приложения или нет - он даст вам корень каталога приложения, а затем вам придется ориентироваться по внутренним папкам, как в приведенном примере.

Надеюсь, это поможет, и не забудьте отметить это как решение, если оно работает..

Овации


bjay tiamsic

Разве это не означает, что точки указывают на то, чтобы переместить одну папку? Я попробовал ваше предложение, но оно дало мне эту ошибку
Система.InvalidOperationException: не удалось сопоставить путь '/Reports/MyReport.rpt'.