2012-01-10 3 views
2

Я храню rdl удаленно в базе данных sql-сервера в двоичном формате. Я бы хотел использовать средство просмотра отчетов для отображения отчета.Открытие удаленного RDL с .NET Viewer View

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

Я правильно понимаю, что все, что мне нужно, это средство контроля просмотра отчетов, чтобы заставить это работать? Если да, то как можно открыть удаленно сохраненный файл .rdl?

У меня также есть переменная, которая содержит содержимое rdl, хранящееся в строке ... не уверен, что это помогает? Поэтому либо я могу использовать эту строку, либо вытащить .rdl из db ...

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

ReportViewer r = new ReportViewer(); 
//pass the rdl to report viewer 
r.ProcessingMode = ProcessingMode.Remote; 

ответ

3

Необходимо установить его в режим локальной обработки, который не является удаленным.

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

reportViewer.LocalReport.LoadReportDifinition 

Вот код, я использую, чтобы загрузить из DLL (может помочь увидеть в контексте)

Assembly assembly = Assembly.LoadFrom("MyReports.dll"); 
Stream stream = assembly.GetManifestResourceStream("Reports.MyReport.rdlc"); 
reportViewer.LocalReport.LoadReportDifinition(stream); 
0

Попробуйте пересмотреть этот код:

ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote; 
ReportViewer1.ServerReport.ReportServerCredentials = new ReportServerNetworkCredentials(); 
//ReportViewer1.ServerReport.ReportServerCredentials = new Rep(); 
ReportViewer1.ServerReport.ReportServerUrl = new Uri(@"http://PRODUCTIONDB:80/ReportServer/MexReports"); //report server 
ReportViewer1.ServerReport.ReportPath = "rptMEXHEDailyReportReview1"; // rdl name 
Смежные вопросы