none
Problemas com o Report Builder 3.0 RRS feed

  • Pergunta

  • Olá Pessoal, me chamo Olavo e trabalho como analista programador em uma empresa, tenho a seguinte situacao:

    Em nosso projeto utilizamos o VS 2010 Professional com C#. É um sistema em Winforms para Desktop.

    Como banco de dados utilizamos o SQL Server 2008 R2.

    Anteriormente os relatorios do sistema foram feitos no Crystal Reports e agora estamos migrando para o Report Builder. Fiz alguns (uns seis) utilizando a versao 2.0, e já estao implantados com sucesso no sistema. Eles rodam de forma local, sem a necessidade de um servidor para os mesmos.

    Tomei conhecimento do Report Builder 3.0, e tentei utilizar no sistema também. Quando executo um relatorio pelo proprio Report Builder 3.0 ele executa perfeitamente, agora quando tento integrar ele com o sistema apresenta o seguinte erro:

    * Definicao do relatorio é invalida. http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition-Ziel.o Namespace nao pode ser atualizado (Nao colei o texto aqui, pois trabalho na Alemanha e o texto também está em alemao, e traduzindo fica mais ou menos isso....:)

    A priori, continuarei a desenvolver os relatorios no Report Builder 2.0, para nao parar o andamento das atividades, e ficaria muito grato caso algum colega que tenha vivenciado está situacao ou saiba a solucao da mesma possa me ajudar nessa!

    Mais uma vez, agradeco pelo espaco cedido e pela atencao de todos.

    Olavo Neto - olavo.neto@net4team.com

     

    sexta-feira, 7 de outubro de 2011 16:08

Respostas

  • Olavo,

    Voce está usando o ReportViewer control, para isso voce deve usar o criador de relatórios do proprio visual studio (e o formato do arquivo será RDLC ao invez de RDL). O Reportviewer do visual studio tem as mesmas features que o SSRS2008 por isso voce deve ter conseguido usar o RB2.0, já o RB3.0 tem as features do ssrs2008 R2, que ainda não eram suportadas no VS2010.

    Caso voce queira usar as funcoes do RB3.0 (Map, sparklines, etc) Voce terá que rodar em ServerMode com um servidor SSRS 2008 R2.

    Att

    Boreki

     

     


    Boreki[MSFT] - SQL Server Reporting Services
    sexta-feira, 7 de outubro de 2011 17:07

Todas as Respostas

  • Só mais uma observacao, o erro acontece quando chamo o metodo de redenrizacao do Report.
    Ele consegue fazer o RefreshReport() sem problemas, só que para no Show().
    É isso,

     

    Abracos

    sexta-feira, 7 de outubro de 2011 16:10
  • Olavo,

    Nao entendi direito qual o seu scenario. O que voce quer dizer com os relatorios do report builder rodam de forma local? Os relatorios do reportbuilder devem ser publicados em um servidor reporting services, o RB2.0 roda com o SSRS 2008, e o RB3.0 roda com o SSRS2008 R2. Pelo erro que voce esta tendo parece que voce esta usando o RB3.0 com um servidor SSRS2008, o que não vai funcionar.

    No caso do refreshreport, voce está fazendo isso usando o reportviewer control correto? Imagino que ele esteja em Server Mode apontando para o relatorio que voce publicou no ssrs?

    att

    Boreki


    Boreki[MSFT] - SQL Server Reporting Services
    sexta-feira, 7 de outubro de 2011 16:30
  • Boreki,

    Certo, irei esclarecer melhor: Nao necessáriamente preciso utilizar um servidor de relatorios report services para integrar um Report criado com o Report Builder com minha aplicacao .NET. Existe a possibilidade de eles serem rodados localmente, na maquina em que estiver sendo executada a aplicacao.
    Eu conseguo isso com o seguinte codigo, e de forma muito simples, acredito eu:

     

     

    ReportViewer _rv = new ReportViewer();

    _rv.LocalReport.ReportPath = ReportPath; //Local onde ficara armazenado o .rdl na máquina.

    //Essa funcao é utilizada para passar os datatables já preenchidos para o report. Com mesma estrutura que é utilizado no rdl.

    //Se nao tiver a mesma estrutura, ocorre uma excecao.

    if (this.ListRds != null && this.ListRds.Count > 0)
     
    {

     foreach (ReportDataSource rdss in this.ListRds)
     
     {
     
      _rv.LocalReport.DataSources.Add(rdss);
     
     }
     
    }

     

    _rv.RefreshReport(); //Aqui o objeto le o XML que é construido pelo ReportBuilder. (o .rdl é um XML ... podemos ver claramente se editarmos com um editor de texto)

    _rv.Show(); //Carrega na tela

     

    Penso eu, que como aqui eu nao uso servidor, nao pode ser por esse motivo que voce citou.

    É o seguinte também, quando criamos um relatorio com o ReportBuilder 2.0 ele gera um cabecalho assim:

     


    <?xml version="1.0" encoding="utf-8"?>
     
    <Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition">
    Já quando criamos pelo ReportBuilder 3.0 ele muda a versao da propriedade xmlns, e atualiza o ano de 2008 para 2010. Essa mensagem parece apresentar o erro, que ele nao consegue reconhecer essa propriedade, penso que pode ter algo haver com isso, enfim nao sei também!

     Espero que tenha conseguido esclarecer melhor o que está acontecendo por aqui!
    E agradeco a sua atencao Boreki.


    Abracos


    Olavo Neto

    sexta-feira, 7 de outubro de 2011 16:57
  • Olavo,

    Voce está usando o ReportViewer control, para isso voce deve usar o criador de relatórios do proprio visual studio (e o formato do arquivo será RDLC ao invez de RDL). O Reportviewer do visual studio tem as mesmas features que o SSRS2008 por isso voce deve ter conseguido usar o RB2.0, já o RB3.0 tem as features do ssrs2008 R2, que ainda não eram suportadas no VS2010.

    Caso voce queira usar as funcoes do RB3.0 (Map, sparklines, etc) Voce terá que rodar em ServerMode com um servidor SSRS 2008 R2.

    Att

    Boreki

     

     


    Boreki[MSFT] - SQL Server Reporting Services
    sexta-feira, 7 de outubro de 2011 17:07
  • Boreki,

    Agora eu comeco a entender melhor o que se passa. Eu devo comecar a implementar os proximos relatorios usando o proprio Visual Studio.

    Será que futuramente poderia ter problemas com os relatorios já desenvolvidos com o Report Builder 2.0 ? Eles estao todos em .rdl e estao sendo suportados pelo VS.

     

    Olavo Neto

     

     

    sábado, 8 de outubro de 2011 07:54