André Alves de Lima

Talking about Software Development and more…

Ativando o Crystal Reports no Visual Studio 2015

No meu último vídeo eu mostrei como ativar o Report Viewer no Visual Studio 2015. Aproveitando essa onda de relatórios, no vídeo de hoje eu resolvi mostrar como ativar o Crystal Reports no Visual Studio 2015.

O Crystal Reports é uma ferramenta de geração de relatórios poderosíssima e super conhecida no mercado. Existe uma versão gratuita praticamente sem limitações e que pode ser instalada em conjunto com o Visual Studio (inclusive na edição Community!). Veja só como ativá-lo neste vídeo:

O procedimento é muito simples. Basta acessarmos a página de downloads do Crystal Reports para Visual Studio e baixarmos o “Support Pack” mais atual. A instalação é muito tranquila, no famoso estilo “next, next, finish“.

Na última etapa da instalação o instalador vai perguntar se você quer instalar a runtime do Crystal Reports (que é necessária para conseguirmos visualizar os relatórios em tempo de execução). Eu costumo pular essa etapa e instalar manualmente as runtimes (colunas “MSI 32 Bit” e “MSI 64 Bit” da página de downloads). Faço isso de forma manual, primeiro a 32 bits e depois a 64 bits, porque antigamente existia um bug que, se você instalasse primeiro a runtime 64 bits, você não conseguiria instalar a runtime 32 bits depois. Não sei se esse bug já foi corrigido, mas, para evitar problemas, eu continuo fazendo essa instalação manual.

E no Visual Studio 2017?

No momento da gravação desse vídeo (fevereiro de 2017), o Visual Studio 2017 ainda não era suportado. Porém, como a SAP já colocou uma informação na página de downloads falando que essa versão ainda não é suportada, acredito que com um próximo “Support Pack” eles adicionarão o suporte ao Visual Studio 2017. Tudo indica que o processo de instalação continuará o mesmo.

Assine a minha newsletter

Antes de me despedir, convido você a inscrever-se na minha newsletter. Ao fazer isso, você terá acesso aos projetos de exemplo utilizados nos artigos, receberá um e-mail toda semana sobre o artigo publicado e ficará sabendo também em primeira mão sobre o artigo da próxima semana, além de receber dicas “bônus” que eu só compartilho por e-mail. Inscreva-se utilizando o formulário logo abaixo.

Até a próxima!

André Lima

Photo by Peter Shanks used under Creative Commons
https://pixabay.com/en/startup-start-up-notebooks-creative-593327/

Song Rocket Power Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 3.0 License
http://creativecommons.org/licenses/by/3.0/

Newsletter do André Lima

* indicates required



Powered by MailChimp

10 thoughts on “Ativando o Crystal Reports no Visual Studio 2015

  • Oduvaldo de Oliveira disse:

    Bom dia, André.

    Estou com problema na execução dos relatório Crystal na máquina do cliente, sempre me retorna falha ao carregar as informações do banco de dados. Na maquina de desenvolvimento isso não ocorre. abaixo um fragmento do meu código com os dados que estou passando para o rpt.

    rpt.Load(rPath);
    crConnectionInfo.Type = ConnectionInfoType.CRQE;
    crConnectionInfo.ServerName = “192.162.12.13”;
    crConnectionInfo.DatabaseName = “Base_Transplastico”;
    crConnectionInfo.UserID = “sa”;
    crConnectionInfo.Password = “visual”;

    crConnectionInfo.AllowCustomConnection = false;
    crConnectionInfo.IntegratedSecurity = false;

    CrTables = rpt.Database.Tables;
    foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
    {
    CrTable.LogOnInfo.ConnectionInfo = crConnectionInfo;
    crtableLogoninfo = CrTable.LogOnInfo;

    crtableLogoninfo.ReportName = rpt.Name;
    crtableLogoninfo.TableName = CrTable.Name;
    CrTable.ApplyLogOnInfo(crtableLogoninfo);
    }
    rpt.SetDatabaseLogon(crConnectionInfo.UserID, crConnectionInfo.Password, crConnectionInfo.ServerName, crConnectionInfo.DatabaseName);

    SqlConnection objConexao = new SqlConnection(connStr);
    SqlCommand objCommand = new SqlCommand(MsgSQL, objConexao);
    SqlDataAdapter objAdapter = new SqlDataAdapter();
    DataSet objDataSet = new DataSet();

    objCommand.Connection = objConexao;
    objAdapter.SelectCommand = objCommand;

    Os relatório ficam em loop pedindo os dados para acesso o banco de dados.

    Será que você já viu esse erro em algum momento. Por enquanto obrigado. E suas dicas/exemplos sempre me ajudam no dia a dia de desenvolvimento. Valeu.

    • andrealveslima disse:

      Olá Oduvaldo!

      Aparentemente o seu código está correto.. Você testou no computador de desenvolvimento apontando exatamente para o mesmo banco de dados que você está utilizando em produção? Pode ser que tenha alguma diferençazinha no schema entre o banco que você está testando e o banco de produção, o que costuma causar esse tipo de comportamento..

      Algumas coisas que você pode tentar:

      – Abrir o relatório no Crystal e dar um “Verify Database”
      – No código, coloque uma chamada para reportDocument.VerifyDatabase
      – Tente adicionar (se você ainda não tiver adicionado) uma chamada para seuControleCrystal.Refresh
      – Se você já tiver uma chamada para Refresh (item anterior), tente remover

      Tente esses procedimentos e me avisa se algum deles funcionou.. Outra opção seria carregar os dados em um DataSet e enviá-los para o relatório através do método reportDocument.SetDataSource.. Dessa forma o relatório nem precisaria saber onde é que está o banco de dados (os dados seriam passados através do DataSet que já estaria preenchido)..

      Abraço!
      André Lima

  • bonifacio disse:

    Bom dia, André

    Eu tou a ter um problema no Crystal Report pretendo fazer uma impressao em simultanio de recibo de salarios sem repitir o trabalhador.
    ou melhor imprimir salarios dos trabalhadoros em simultanio. Imprimir Recibos em massa dos trabalhador nao um a um.

    • andrealveslima disse:

      Olá Bonifácio!

      Não consegui entender muito bem o que você está querendo fazer.. Será que você poderia tentar explicar de outra forma? Você tem uma lista de trabalhadores com os seus salários, aí você quer imprimir essas informações com o Crystal Reports? Qual é a dificuldade exatamente?

      Abraço!
      André Lima

  • DANIEL MENDES MAACK disse:

    Olá André.
    Estou com uma dúvida e gostaria da sua opinião.

    Estou desenvolvendo um projeto no vs 2013. Existe algum problema de compatibilidade do crystal se eu trabalhar no vs 2015 e depois voltar para o 2013 novamente?

    • andrealveslima disse:

      Olá Daniel!

      Apesar de eu particularmente nunca ter feito esse teste, em teoria deve funcionar sem problema nenhum.. A versão do Crystal Reports que funciona em conjunto com o Visual Studio é sempre a 13, independente da versão do Visual Studio.. A única coisa que muda é o “Service Pack” do Crystal Reports (ou “Support Pack”, como a SAP costuma chamar).. Para o Visual Studio 2013, você precisará pelos menos do SP 9 e para o Visual Studio 2015 você precisará pelo menos do SP 15..

      Concluindo: eu acredito que você não terá problema nenhum, mas recomendo que você faça um teste com algum relatório simples para ter certeza.. Depois volta aqui e conta pra gente o resultado.. ;)

      Abraço!
      André Lima

      • DANIEL MENDES MAACK disse:

        Cara,eu instalei a mesma versao que usava no 2013 e funcionou. Criei em um e consegui esitar no outro. O problema agora foi na publicacao da aplicacao. Ele reclama da falta de um tal de log4net na execucao do relatorio na maquina do usuário. Na maquina do dev essa referência existe, mas na do usuário nao. Estou achando que tem a ver com a publicação do clickonce.

        • andrealveslima disse:

          Olá Daniel!

          Se você está publicando com o ClickOnce e a aplicação está reclamando que está faltando algum arquivo na hora de executar, muito provavelmente o ClickOnce está instalando a runtime antiga (que acredito que não utilizava o log4net e agora utiliza nas versões mais novas).. Não tem como você instalar a última runtime do Crystal Reports manualmente no computador cliente para ver se o problema não é resolvido?

          Abraço!
          André Lima

          • Daniel Maack disse:

            Pois bem. Acabei de descobrir que os computadores dos clientes nao tem nenhuma runtime instalada (e os outros reports antigos funcionam normalmente nessas maquinas). Estou desenvolvendo no vs2015 em outra maquina. Quando desenvolvia no VS2013 na maquina antiga (mesma configuração da maquina nova) tudo funcionava normalmente. Nessa maquina nova com VS2015 estou usando a mesma versao do runtime que usava na maquina antiga. Mesma versao do Runtime e mesma versao do crysta para VS.

            Não cheguei a instalar o Runtime pq de qualquer forma eu nao poderia instalar ela nas outras maquinas de usuarios que usam a aplicação.

            Agora fiquei nesse impasse…

          • andrealveslima disse:

            Olá Daniel!

            Cara, não sei o que você poderia fazer nesse caso.. O que eu tentaria era atualizar o redistributable que o ClickOnce vai utilizar para o Crystal Reports na hora da instalação.. Se você procurar por “ClickOnce” na página de downloads do Crystal Reports no site da SAP (link que eu compartilhei neste artigo mesmo), você encontrará dois links:

            Tente utilizar um desses dois links (dependendo da arquitetura da sua aplicação) como fonte do Crystal no ClickOnce..

            Abraço!
            André Lima

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *