none
abrir relatorio Reporting Service via aplicação RRS feed

  • Pergunta

  • Pessoal,

    fiz um relatorio pelo Reporting Service,
    Publiquei o relatorio, Testei o mesmo
    e tudo OK!,.

    Agora preciso chamar este relatorio da minha
    aplicação passando ainda parametros para o Relatorio
    como faço? Uso VS2005 C Sharp, alguem pode me ajudar?

    Maricelmo


    Maricelmo
    sexta-feira, 18 de março de 2011 15:22

Respostas

  • Pessoal,

    Consegui relsonser meu problema

    alem do componente ReportViewer

    e do codigo abaixo::

    ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
    ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://servidor/ReportServer");
    ReportViewer1.ServerReport.ReportPath = "/RelatorioWeb/RelatorioEstatisticaDigitacao";
           
    //Parametros no seguinte formato.

    ReportParameter[] parametros = new ReportParameter[2];
    parametros[0] = new ReportParameter("DataInicio", txtdatainicio.Text);
    parametros[1] = new ReportParameter("Datafim", txtdatafim.Text);

    ReportViewer1.ServerReport.SetParameters(parametros);
    ReportViewer1.ServerReport.Refresh();

    O relatorio deverá ser publicado ou criado um diretorio virtual no IIS
    e eu não tinha feito isso, achei do podia rodar na maquina local com
    o IIS proprio do VS.


    Maricelmo
    • Marcado como Resposta Maricelmo segunda-feira, 11 de abril de 2011 15:50
    segunda-feira, 11 de abril de 2011 15:49

Todas as Respostas

  • Maricelmo,

    Utilize o comando Report Viewer!!!!


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    domingo, 20 de março de 2011 01:04
  • Ola, Junior!

    Bem eu estou utilizando o Report Viewer

    conforme alguns tutoriais que andei pesquisando

    porem sem sucesso!

     

    ERRO: System.InvalidOperationException: Falha ao mapear o caminho '/'.

    vc por acaso teria algum exemplo de codigo de como usar o Report Viewer

     

    Agradeço


    Maricelmo
    segunda-feira, 21 de março de 2011 15:43
  • Maricelmo,

    De que forma você esta especificando o caminho do relatório?

    Outra coisa, o usuário que esta utilizando a aplicação deverá ter acesso ao local.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quarta-feira, 23 de março de 2011 19:52
  • Então Junior,

    Fiz Assim:
    Arrastei um ReportViewer1 para  a página:
    não informei nada, nennhum codigo direto
    no componente.

    No Code Behind Digitei o codigo abaixo:

    ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.

    ProcessingMode.Remote;
    ReportViewer1.ServerReport.ReportServerUrl =
    new Uri(http://Servidor/ReportServer);
    ReportViewer1.ServerReport.ReportPath =
    http://servidor/ReportServer/RelatorioWeb/RelatorioEstatisticaDigitacao;
    ReportParameter[] parameters = new ReportParameter[1];
    parameters[1].Name = "@DataInicio";
    parameters[1].Values[0] = txtdatainicio.Text;
    ReportViewer1.ServerReport.SetParameters(parameters);
    ReportViewer1.ServerReport.Refresh();

     

    Reposta: Ao executar é mostrado o  ERRO acima.

    Maricelmo

    Maricelmo
    segunda-feira, 28 de março de 2011 12:26
  • Andressa,

    Obrigado por sua ajuda,
    porem infelizmente sem sucesso!

    Fiz exatamente como vc falou e mesmo assim
    o ERRO persiste.

    Preciso configurar alguma coisa
    como diretorio virtual, ou alguma
    outra configuraçao especifica?

    vc consegue executar o relatorio desta forma
    sem nenhum problema?

    Pode me mostrar seu codigo, como exemplo?

    Maricelmo


    Maricelmo
    terça-feira, 29 de março de 2011 17:42
  • Maricelmo,
    No report path deve ser definido apenas o as pastas como no exemplo abaixo:
    ReportViewer1.ServerReport.ReportPath


    = "/RelatorioWeb/RelatorioEstatisticaDigitacao”
     
    Uma segunda forma de mapear esses valores é pelo aspx

    <rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana"
     Font-Size="10pt" Height="500px" ProcessingMode="Remote" Width="100%">
     <ServerReport ReportServerUrl=http://Servidor/reportserver 
      ReportPath="/RelatorioWeb/RelatorioEstatisticaDigitacao" />
    </rsweb:ReportViewer >
    
    terça-feira, 29 de março de 2011 17:43
  • Sim, Andressa

    Fiz exatamente isso,
    mesmo assim
    não funcionou!

    Eis Meu Codigo:

    ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
    ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://servidor/ReportServer");
    ReportViewer1.ServerReport.ReportPath = "/RelatorioWeb/RelatorioEstatisticaDigitacao";
           
    //Parametros no seguinte formato.

    ReportParameter[] parametros = new ReportParameter[2];
    parametros[0] = new ReportParameter("DataInicio", txtdatainicio.Text);
    parametros[1] = new ReportParameter("Datafim", txtdatafim.Text);

    ReportViewer1.ServerReport.SetParameters(parametros);
    ReportViewer1.ServerReport.Refresh();


    Maricelmo
    terça-feira, 29 de março de 2011 18:05
  • Eis o ERRO:

    InvalidOperationException: Falha ao mapear o caminho '/'.]
    System.Web.Configuration.ProcessHostConfigUtils.MapPathActual(String siteName, VirtualPath path) +253 System.Web.Configuration.ProcessHostMapPath.MapPathCaching(String siteID, VirtualPath path) +669 System.Web.Configuration.ProcessHostMapPath.GetPathConfigFilenameWorker(String siteID, VirtualPath path, String& directory, String& baseName) +19 System.Web.Configuration.ProcessHostMapPath.System.Web.Configuration.IConfigMapPath.GetPathConfigFilename(String siteID, String path, String& directory, String& baseName) +37
    System.Web.Configuration.HostingPreferredMapPath.GetPathConfigFilename(String siteID, String path, String& directory, String& baseName) +75 System.Web.Configuration.WebConfigurationHost.GetStreamName(String configPath) +8845302 System.Configuration.Internal.DelegatingConfigHost.GetStreamName(String configPath) +13
    System.Configuration.BaseConfigurationRecord.InitConfigFromFile() +154

    [ConfigurationErrorsException: Ocorreu um erro ao carregar o arquivo de configuração: Falha ao mapear o caminho '/'.] System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal) +651044 System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors) +31
    System.Configuration.Configuration..ctor(String locationSubPath, Type typeConfigHost, Object[] hostInitConfigurationParams) +356 System.Configuration.Internal.InternalConfigConfigurationFactory.System.Configuration.Internal.IInternalConfigConfigurationFactory.Create(Type typeConfigHost, Object[] hostInitConfigurationParams) +29
    System.Web.Configuration.WebConfigurationHost.OpenConfiguration(WebLevel webLevel, ConfigurationFileMap fileMap, VirtualPath path, String site, String locationSubPath, String server, String userName, String password, IntPtr tokenHandle) +775 System.Web.Configuration.WebConfigurationManager.OpenWebConfigurationImpl(WebLevel webLevel, ConfigurationFileMap fileMap, String path, String site, String locationSubPath, String server, String userName, String password, IntPtr userToken) +84 System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(String path) +36 Microsoft.Reporting.WebForms.ReportViewer.ConfigContainsHandler() +87 Microsoft.Reporting.WebForms.ReportViewer.OnInit(EventArgs e) +111 System.Web.UI.Control.InitRecursive(Control namingContainer) +333 System.Web.UI.Control.InitRecursive(Control namingContainer) +210 System.Web.UI.Control.InitRecursive(Control namingContainer) +210 System.Web.UI.Control.InitRecursive(Control namingContainer) +210 System.Web.UI.Control.InitRecursive(Control namingContainer) +210 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6741 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242 System.Web.UI.Page.ProcessRequest() +80 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21 System.Web.UI.Page.ProcessRequest(HttpContext context) +49 ASP.veiculos_paginarelatorio_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\veiculos\9bcc847f\d589e120\App_Web_punvq0tk.16.cs:0 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75


    Maricelmo
    terça-feira, 29 de março de 2011 18:11
  • Maricelmo,

    Você tentou deixar apenas o codigo abaixo no aspx? Comente todo o metodo no c#, somente para verificar se o diretorio está correto.

     

    <rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana"
     Font-Size="10pt" Height="500px" ProcessingMode="Remote" Width="100%">
     <ServerReport ReportServerUrl=http://Servidor/reportserver 
     ReportPath="/RelatorioWeb/RelatorioEstatisticaDigitacao" />
    </rsweb:ReportViewer >
    
    quarta-feira, 30 de março de 2011 12:33
  • Ola Andressa,

    Obrigado por tentar me ajudar.

    Deixei apenas o codigo, como vc me explicou
    porem o erro continua,

    fiz alguns testes aqui,

    por exemplo: se eu tiro o componente ReportViewer
    a Pagina Funciona.

    Qdo coloco o componente, vou no source e insero
    o codigo acima, Não Funciona!

    E se eu coloco apenas o componente
    sem configurar metodo algum, tambem
    dar o erro mostrado acima

    Uso o VS2005


    Maricelmo
    quarta-feira, 30 de março de 2011 13:14
  • Maricelmo,

    De acordo com o erro "Falha ao mapear o caminho '/'" ele não esta conseguindo encontrar o caminho do relatorio.

    Esse erro é local? voce consegue acessar o http://servidor/reportsserver da sua maquina? RelatorioWeb é uma pasta e Relatorioestatisticadigitacao é nome do relatorio certo?

    quarta-feira, 30 de março de 2011 16:59
  • Ola, Andressa

    Esse erro é local?

    Respota: o erro acontece quando abro a pagina Relatorio.aspx onde esta o componente apontando para o servidor de relatorio
    o mesmo nem abre a pagina Relatorio.aspx, ja mostra o erro.

    voce consegue acessar o http://servidor/reportsserver da sua maquina?
    Reposta: Sim, consigo de fora da aplicação.

    RelatorioWeb é uma pasta e Relatorioestatisticadigitacao é nome do relatorio certo?
    Resposta: Correto eh isso!

    Será que tem que configurar alguma coisa no Web.config?

    ja li estes posts:

    http://csharpbrasil.com.br/2008/09/11/criando-relatorio-com-reportviewer-em-aspnet/
    http://www.codedigest.com/Articles/ASPNET/373_Working_with_ReportViewer_Control_in_AspNet.aspx
    http://www.macoratti.net/aspn_grv.htm

    mesmo assim não funcionou!


    Maricelmo

    quinta-feira, 31 de março de 2011 13:30
  • Pessoal,

    Me deem uma força ai!

    ja estou quase desistindo!
    Maricelmo
    • Marcado como Resposta Maricelmo segunda-feira, 11 de abril de 2011 15:49
    • Não Marcado como Resposta Maricelmo segunda-feira, 11 de abril de 2011 15:50
    segunda-feira, 4 de abril de 2011 16:09
  • Pessoal,

    Consegui relsonser meu problema

    alem do componente ReportViewer

    e do codigo abaixo::

    ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
    ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://servidor/ReportServer");
    ReportViewer1.ServerReport.ReportPath = "/RelatorioWeb/RelatorioEstatisticaDigitacao";
           
    //Parametros no seguinte formato.

    ReportParameter[] parametros = new ReportParameter[2];
    parametros[0] = new ReportParameter("DataInicio", txtdatainicio.Text);
    parametros[1] = new ReportParameter("Datafim", txtdatafim.Text);

    ReportViewer1.ServerReport.SetParameters(parametros);
    ReportViewer1.ServerReport.Refresh();

    O relatorio deverá ser publicado ou criado um diretorio virtual no IIS
    e eu não tinha feito isso, achei do podia rodar na maquina local com
    o IIS proprio do VS.


    Maricelmo
    • Marcado como Resposta Maricelmo segunda-feira, 11 de abril de 2011 15:50
    segunda-feira, 11 de abril de 2011 15:49
  • Blza Pessoal? Consegui fazer rodar o Report Server no meu reportviewer, mais ele não está paginando, ao clicar para ir a pagina seguinte ele faz o postback e volta para a mesma página. Alguém tem alguma idéia do que seja?

    OBrigado.

     

    ps. Estou usando MVC no visual studio 2010.


    quarta-feira, 13 de abril de 2011 20:12