Compare o SQL Server Reporting Services ao Crystal Reports

Qual dos Crystal Reports e SSRS (SQL Server Reporting Services) é melhor usar?

Por um lado, a Crystal Reports é uma pilha fumegante de burro de burro caro e exagerado, e por outro lado, o SSRS realmente cumpre todas as promises que o marketing CR faz – e é grátis.

Meu desprezo pela RC vem de muitos anos sendo obrigado a usar a coisa horrível. Não há realmente nenhum ponto em detalhar a odiosidade absoluta de CR quando posso lhe dar referências como Bater no Dodo de Cristal ou no Crystal Reports Sucks Donkey Dork (não tão engraçado, mas sim mais instruído e substanciado com detalhes técnicos).

Livre?! Sim. Você nem precisa comprar o MS SQL Server para obtê-lo – você pode instalar o SQL Express com Advanced Services. Isso está disponível como um download que inclui o SQL Server Reporting Services . Enquanto o SQL Express é limitado no número de usuários simultâneos que ele pode suportar, as seguintes observações são salientes:

  • A licença para o SSRS obtida como parte do SQL Express requer apenas que seja implantada como parte do SQL Express. Não há nada que proíba a conexão com outras fonts de dados ou que exija que um relatório obtenha dados do SQL Server.

  • A versão acima mencionada do SSRS não tem restrições intrínsecas nas conexões do usuário. Todas as limitações são impostas ao mecanismo de database do SQL Express.

  • O SSRS usa o ADO.NET, que inclui, fora da checkbox, drivers para Oracle, Jet (Access), OLEDB e ODBC

Assim, você pode conectar a versão gratuita do SSRS a qualquer back-end para o qual você pode conectar o ADO.NET, que inclui (por exemplo) o MySQL. Eu sou dito por Rory em um comentário abaixo que isso é “não suportado”. Isso é verdade, mas não consigo encontrar nada na licença que o proíba e, embora os drivers não sejam fornecidos pelo SSExpress, eles certamente são fornecidos pela maioria das versões do Visual Studio e você pode enviá-los em seu kit de instalação. Isso pode não ser uma configuração expressamente suportada, mas e daí? Mesmo se você tivesse uma licença MSSQL completa, seria um pouco demais esperar que a Microsoft o ajudasse a conversar com algum database de terceiros (para não mencionar um pouco estranho).

Eu uso o SSRS extensivamente no trabalho tanto para relatórios internos quanto para relatórios externos incorporados em aplicativos ASP.NET que fornecem serviços bureau para um grande número de clientes pagantes. Em nosso caso, acontece que o backing store é uma cópia licenciada do Microsoft SQL Server 2008, mas isso é acidental aos méritos técnicos de nossa solução de relatório.

Existe uma longa lista de resources que o Crystal Reports pretende suportar, mas que não funcionam ou que exigem uma licença incrivelmente cara se você quiser mais de cinco usuários. Você não pode nem confiar em CR para fazer o SQL corretamente. SELECT COUNT(*) FROM SOMETABLE WHERE 1=0 deve produzir um resultado de zero mas produz um . O mecanismo de consulta interno está com defeito, e uma equipe que estraga algo que um monte de amadores pode fazer de graça (por exemplo, MySQL) não tem a menor chance de obter qualquer coisa que você descreveria como desempenho de seu código.

E eles não. O malvado vaza memory como um balde sem fundo, e se você usar ferramentas de criação de perfis SQL, verá que é espetacularmente ineficiente.

Quanto ao alegado apoio, posso atestar pessoalmente que os erros de redimensionamento de diálogos não foram corrigidos durante décadas depois de serem publicamente documentados pela primeira vez. Se você pegar seu cartão de crédito e pagar os resgates extorsionários exigidos (eu também gostaria de um bom pagamento para suportar tal horror), você se encontrará falando com alguém que diz que seu nome é David, mas inexplicavelmente pronuncia “Dah-feet”, e quem nem sequer entende sua pergunta, muito menos tem uma resposta.

A situação de suporte do SSRS é bastante semelhante, mas na verdade funciona para que você não precise de muito.

O SSRS, por outro lado, faz tudo o que o CR afirma. Não é sem bugs, mas são deliciosamente poucos e raramente sobrevivem a mais de um ciclo de lançamento.

A interface do usuário do designer do SSRS é hospedada no IDE do Visual Studio. Ele é apresentado de forma atraente em um estilo típico da Microsoft, mas, mais do que isso, é muito bem pensado, incorporando vários desvios simples, porém fundamentais, dos designers de relatórios tradicionais. Por exemplo, para apresentar dados tabulares, você define uma tabela em vez de mexer em checkboxs de texto individuais. Como resultado, você não precisa se estragar tentando alinhá-los, e colocar bordas neles é um exercício trivial de estilo de vida.

SSRS realmente faz todas as coisas que CR afirma, é barato, há extensa documentação técnica confiável, é projetado para ser estendido (também documentado) e você pode conectá-lo a qualquer coisa para a qual você pode obter um driver ODBC. Isso é um acéfalo.

Algumas deficiências do SSRS

  • Não é óbvio como vincular campos em headers e rodapés de página.
  • Não é possível (até onde eu sei) posicionar em relação ao fundo de uma página. Este é um problema genuíno para determinados tipos de relatório, e um para o qual não consigo pensar em nenhuma solução alternativa.
  • Não há suporte para expandos rollups horizontais em tabulações cruzadas.
  • Não há suporte direto para headers e rodapés de relatórios. Use objects Rectangle na parte superior e inferior do layout do relatório, com as propriedades de quebra de página definidas adequadamente. Ou use sub-relatórios. As pessoas que se queixam disto obviamente não tentaram muito.
  • Falta de suporte para intervalos de grupo sobrepostos (o sistema de agrupamento CR pode fazer isso) ATUALIZAÇÃO O SSRS 2008 R2 agora suporta isso. Está enterrado no diálogo de edição de agrupamento. Procure por “variables ​​de grupo” e leia isto .

Na verdade, parece que grupos sobrepostos também podem ser feitos com o SSRS2005, embora eu nunca soubesse disso. Será que alguém já quebrou a questão do posicionamento relativo inferior?

Eu tenho usado o Crystal Report até a versão 10 e sempre fazia coisas que queria com sucesso junto com aplicativos ASP.NET. Sua saída na web é muito boa como WYSIWYG e as exportações para Excel e PDF também são precisas. A impressão também é maravilhosamente correta.

Recentemente, venho trabalhando no SSRS 2005 há cerca de um ano e tenho vivido para testemunhar tantas deficiências que devem ter sido fornecidas prontamente. A saída da web do SSRS varia muito com diferentes navegadores e resoluções de diff e facilmente deixaria um desenvolvedor doente. Além disso, os problemas de rolagem com o visualizador de relatórios deixariam o usuário final louco, já que ele é baseado em HTML usando um IFRAME. ( Nota: O Crystal 13 usa um IFRAME no visualizador da web que sofre com problemas esporádicos de quebra automática de texto e sobreposição ). As exportações não são nada boas. Você não pode alinhar as imagens à esquerda ou ao centro nas células e não pode especificar as colors de fundo das imagens. Você não pode centralizar o alinhamento do corpo do relatório completo. Para a possibilidade, eu joguei com o HTML renderizado por horas e descobri substituições exatas para fazer isso funcionar, mas essas correções simples não eram conhecidas pelos desenvolvedores do SSRS, porque provavelmente nunca usaram o SSRS para elas mesmas.

Além disso, em aplicativos da Web, você precisa suportar a interface do usuário ruim para os parâmetros prontos para uso. Eu simplesmente o removi completamente e o custo de criá-lo em páginas ASPX me fez pensar em criar relatórios tabulares em DataGrids em vez de usar ObjectDataSource e técnica de paginação de database. Você não pode organizar os parâmetros de acordo com suas necessidades. Bugs nas seções de parâmetros postam relatórios completos sem quaisquer alterações. A paginação com agrupamento funciona com um truque, mas a sorting falha no dataset completo. Para cada bit de nível médio a avançado do requisito da interface do usuário, o SSRS custa muito tempo para descobrir que simplesmente não é possível. Como há menos usuários do SSRS, a comunidade online não tem boas soluções para problemas simples. Não esquecer o lado bom do SSRS é sua implantação, notifications embutidas, caching e configuração do lado, mas sem interface do usuário para ganhar.

BOTTOMLINE é que eu vi SSRS frustrando você apenas devido à falta de resposta da equipe de suporte da Microsoft quando eles têm que dizer ‘desculpe! não agora ‘depois de um mês. O SSRS 2008 também não tem muitos desses problemas corrigidos imediatamente. Além disso, a mudança para o SSRS ’08 significa uma migration completa de plataformas de backend também. Mantendo a equação em mente que quanto mais você usa um software, mais ele amadurece com o tempo, Crystal é de qualquer maneira uma escolha muito melhor porque, o SSRS logo acumula custos para corrigir seus bugs por sua escolha.

Você pode implantar um aplicativo usando o Reporting Services incluindo três arquivos DLL. Isso é um benefício enorme. (Nota – você tem que obter um dos 3 arquivos DLL do GAC.)

Com o Crystal Reports, você precisa instalar o tempo de execução em cada máquina que executará o aplicativo (seja um site ou um aplicativo cliente).

O Reporting Services tem todos os resources que a maioria das pessoas precisa, e a implantação é MUITO mais fácil. Eu nunca usarei o Crystal Reports, a menos que seja necessário.

Já que esse segmento foi aberto novamente, adicionarei meus dois centavos. Eu tive que usar o Crystal por cerca de três anos durante a versão 7 e 8 dias. Odeio cada minuto disso. Eu vi um pouco das versões mais recentes e ainda não gosto disso.

Eu não gosto tanto disso que me dói dizer isso: pela minha experiência, o Crystal é mais adequado do que o SSRS para relatórios complexos. Um colega de trabalho e eu tentamos desesperadamente obter um layout de relatório moderadamente complexo para trabalhar no SSRS e desistimos. Minha impressão do produto – apenas a minha opinião, lembre-se – é que ele não está pronto para o horário nobre.

Crystal vai fazer você odiar sua vida e procurar outro emprego, mas há uma razão pela qual é tão difundida: funciona.

O Reporting Services é muito melhor na minha experiência. É um ambiente melhor, mas o melhor de todas as conexões (fonts de dados) é separado do relatório e pode ser compartilhado. Isso facilita muito a implantação entre os ambientes.

Eu usei os dois, adicionarei alguns pontos ao que já foi dito:

  • Para coisas simples, eu recomendaria o SSRS por padrão. Crystal é um pouco inchado e peculiar.

  • O Crystal pode facilmente exportar para o formato MS Word (.doc). Os clientes querem isso com bastante frequência na minha experiência.

  • Se a formatação for importante, Crystal pode ser melhor. Por exemplo, os relatórios do SSRS não podem ter mais de um tipo de texto em uma única checkbox de texto. O que significa que você não pode ter, digamos, um comentário na parte superior do relatório com texto em itálico e normal. Cristal pode fazer isso:


Nota: Este relatório contém dados desde a data de início até a data final, incluindo essas datas.


O SRSS não pode (sem múltiplas checkboxs de texto sobrepostas). Certa vez, recebi um documento de 20 páginas, para ser convertido em um relatório com dados para os cerca de uma dúzia de charts e tabelas. Eu comecei no SSRS, mas percebi que no Crystal eu podia simplesmente copiar e colar os pedaços do relatório escritos diretamente da palavra, com títulos coloridos e tudo, e economizando dias de trabalho. Então, Crystal tem um “designer” melhor em muitos aspectos.

Atualizar:
Aparentemente, esses dois problemas foram corrigidos no SRSS atual. Alguém se importa em comentar mais sobre isso?

Eu concordo com @Carlton em parte pelas razões que ele descreve. Eu também acho que os serviços de relatórios são um produto mais maduro (mesmo que o Crystal Reports tenha sido usado por mais tempo). O modelo Testar e implantar é bastante vigoroso e a capacidade integrada de rastrear o uso de relatórios é muito útil.

Também acho muito mais fácil projetar relatórios no Reporting Services – a Microsoft aprendeu a construir um bom IDE, enquanto o IDE do Crystal sempre pareceu um pensamento posterior (embora seja melhor do que uma placenta, que é o que costumava ser) .

Edit: Pensamentos adicionais Eu também acho que em uma loja do Windows, o SSRS oferece todos os tipos de integrações doces com o sistema operacional eo SQL Server. Você pode confiar em assemblies SQL para reutilização de código interna com bastante facilidade no SSRS, e a integração com o modelo de segurança do Active Directory torna a segurança de seus relatórios muito fácil.

Cara … minha empresa tem tantos relatos de cristal … e a empresa antes disso também tinha muitos. Da versão 8.5 para 11.5. Eles já têm o pé na porta, por assim dizer. Eu acho que o CrystalReportViewer é um pedaço fumegante de lixo, mas funciona (na maioria das vezes).

Depois de ler algumas dessas respostas, estou mudando para o SSRS para o meu próximo projeto de relatório! A escrita está na parede … O MS soltará o Crystal do VS e replaceá pelo SSRS. A única coisa que vai sugar é quando MS começa a cobrar por isso.

EDIT: Brincando com o SSRS hoje e parece bastante promissor. Devo dizer que o designer está se acostumando a … CR Designer bate na facilidade de uso. Você pode dizer que isso é projetado para programadores onde o CR é voltado para designers de relatórios.

EDIT2: SSRS realmente não atende às minhas necessidades de relatórios. Projetar relatórios é uma droga quando você deseja visualizar e nenhum parâmetro disponível para o modo autônomo. Existe uma maneira melhor de projetá-los … preferencialmente não em VS?

Você pensou em uma alternativa? Se você quiser usar os resources do Crystal Reports, mas não quiser pagar tanto por ele, dê uma olhada no Crystal-Clear, que também é uma ferramenta de relatórios baseada em Java que suporta modelos do Crystal Reports. Ele vem com um designer GUI e as fonts de dados também são configuráveis ​​por sistema. (Quase como no ODBC, você apenas define um nome para a conexão e a conexão é configurada no sistema.)

Eu me pergunto por que ninguém mencionou um grande problema com o CR – que ele simplesmente falha no controle de origem ou no ambiente de equipe. Corrija-me se estiver errado, mas eu realmente procurei muito por qualquer ferramenta de comparação de relatórios. Há um (lançado há um ano), mas ele simplesmente não funciona bem – não porque seja ruim, mas (eu acho) porque o CR simplesmente não expõe a estrutura do relatório corretamente ou algo assim … Eu tentei exportar o .rpt para XML, mas é desajeitado e errado. Eu até tentei escrever meu próprio .rpt comparer.

Não se trata apenas de desenvolvimento de equipes; Mesmo que haja um único desenvolvedor, é um pesadelo manter as versões de relatórios, e se o cliente decidiu adicionar poucas coisas ou alterar poucas colors, você agora está amaldiçoado para acompanhar cada checkbox de texto, já que não há absolutamente nenhuma maneira de descobrir as alterações.

O formato RDL é muito mais limpo e aberto. E isso pode ser uma grande vantagem.

Eu usei os dois por anos. Crystal Reports cobra muito e eu tento usar o SSRS sempre que possível. No entanto, o SSRS não suporta o firefox ou qualquer outro navegador, apenas o IE, isso é um problema. Os relatórios no Crystal são mais agradáveis ​​e as exportações são mais poderosas, os usuários querem uma boa exportação para o Word. Se você é um programador java, eu usaria o Jasper Reports, ele é gratuito e usa a linguagem Java para funções.

Eu usei ambos (Crystal Reports 2008 e SSRS 2008) porque eu não notei esse segmento no tempo.

Além da configuração que foi um pouco mais fácil com o CR, eu não pude notar um único recurso em que o CR está pelo menos no mesmo nível do SSRS. Sim, o Crystal Reports é realmente tão ruim assim.

Na minha opinião, a pior parte do CR é o IDE. Mas também há outros resources importantes, como desempenho insatisfatório de SQL e charts com aparência horrível (pelo menos na versão CR que vem com o VS 2008), que também são características notáveis ​​”matadoras”.

Eu trabalhei com CR e SSRS e isso que eu encontrei.

O Crystal Reports é executado em sua própria memory enquanto o SSRS é executado na memory limitada do SQL Server.

O relatório de cristal é muito caro. Recentemente, eles reduziram seu preço para 250 dólares como resposta ao lançamento do SSRS 2008.

O SSRS é gratuito.

A maior razão pela qual o relatório Crystal prospera:

Você pode criar 80% dos relatórios em um projeto usando o SSRS. Mas para os 20% restantes você tem que usar alguma outra ferramenta de relatórios. Esses relatórios de 20% são usados ​​por ninguém menos que gerentes de nível superior, diretores e CEOs. Sua exigência nunca pode ser prejudicada e CR faz um trabalho maravilhoso lá.

O relatório de cristal ainda é baseado em COM. que é uma dor na a **.

Relatório de cristal não está faltando resources ou resources. É o cavalo de trabalho do SAP. Mas muitas de suas classs são protegidas e não fornecem access a programadores. Isso é intencional. O pessoal da SAP é tão ganancioso que quer manter todos os resources sob controle e cobrar uma fortuna extra para expor as clases e os objects aos desenvolvedores sob acordo de licença especial. Apenas depure e observe rapidamente o object ReportDocument no VS que você saberá, apesar de tudo o que está disponível no object, você dificilmente poderá usá-los em seu código !!

No que diz respeito aos problemas de GUI e CSS, esperar um object COM projetado para impressão de precisão, renderizar corretamente em cada navegador é um ponto discutível, pois mesmo um simples div renderiza diferentemente em diferentes navegadores.

Eu tenho trabalhado com relatórios Crystal desde 7 anos e amaldiçoando o tempo todo enquanto explorava ativamente todas as outras alternativas. Mas ainda estou por encontrar algo tão flexível quanto o Cystal Report. Para o volume do trabalho, o SSRS é bom. Mas para painéis, relatórios complexos com sub-relatórios, balanços, balancetes, nunca vou perder meu tempo no SSRS.

Basta tentar uma pesquisa do Google Trend no Crystal Report. Tem vindo a diminuir desde os últimos 6 anos. Certamente o futuro não parece bom para CR.

Mas ei! MS, SAP e ORACLE ainda apóiam o Crystal Report no núcleo de suas aplicações !! e nenhum produto de BI sai barato.

Eu me sinto como um marciano tendo uma experiência extensa e positiva (mas às vezes complexa) com o Crystal Reports, que agora está completamente integrado em nossa interface de usuário (VBA), onde os parâmetros de relatórios solicitados e filtros são herdados transparentemente da interface do usuário …

Se você estiver considerando o SSRS e estiver preocupado com o fato de ser “gratuito”, mas precisar comprar uma licença adicional do SQL Server ou distribuir o SQL Express, talvez esteja interessado em Data Dynamics Reports.

Ele oferece tudo o que há no SSRS e adiciona Relatórios Principais, Temas, Região de Dados do Calendário, Visualização de Dados (Databar, Sparkline, Iconset, ColorScale, …), modelo de object completo para máxima flexibilidade de programação, criador de relatórios de usuário final livre de royalties, código de barras item de relatório, exportação de modelos do Excel e fusão de dados e muito mais. Você pode baixar uma avaliação do Data Dynamics (agora GrapeCity) e experimentá-la com alguns relatórios, você não ficará desapontado.

Eu trabalhei com ambos agora e os vi lado a lado. Crystal tem sido bom, mas expensice ao longo dos anos. É desajeitado, mas estamos acostumados e familiarizados com a interface. Eu não trabalho no ambiente LAMP, esta casa trabalha com MS Dynamics e MAS com alguns clientes muito grandes.

Eu adoro não ter que me preocupar com a instalação do cliente para o SSRS. As distribuições são muito mais fáceis e o compartilhamento de fonts de dados e modelos de relatórios está funcionando bem.

No que diz respeito a broweser, vi perfeitamente medidos SSRS 2008 no Firefox. Eu exportei esses medidores para o Excel sem problemas. Eu implantei relatórios com e sem o MOSS para telefones. A capacidade de usar a autenticação do Windows para implantar relatórios e ocultá-los é fantástica. O object visualizador de relatório no VS 2005 e posterior é doce.

Pessoas, por favor, consulte a versão de que você está falando!

Por exemplo, o relatório RDLC gratuito incorporado do VS2008 (o mesmo do SQL Server 2005 Reporting Services) não oferece suporte a campos de binding no header e no rodapé , e é um recurso básico!

Agora estou convertendo um relatório enorme deste VS2008 Reporting / RDLC 2005 para o Crystal Report 2008 Basic (que vem com o VS2008) porque ele não tem esse recurso básico.

Estou confiante de que o Reporting Services 2.0 / RDLC 2008 (que vem com o Visual Studio 2010) e, melhor ainda, o mais novo Reporting Services 3.0 / RDLC 2010 ( que vem de graça no SQL Server 2008 R2 Express com Advanced Services ) são melhores soluções SSRS.

SQL Server R2 Express com Advanced Services (FREE) http://www.microsoft.com/express/Database/InstallOptions.aspx

Agora estou fazendo uma prova de conceito para o Reporting Services 3.0 / RDLC 2010 e publicarei os resultados.

O Reporting Services (SSRS / RDLC) é sempre mais fácil de trabalhar, mas é fácil, com um preço. Para relatórios simples, escolha sempre SSRS / RDLC. Para relatórios complexos com detalhes mestre, controle de página e assim por diante, faça um PoC desses cenários com as versões SSRS / RDLC mais recentes (2008,2010) e também com o Crystal Reports.

Para aqueles que estão comparando o antigo Crystal Reports XI e o Reporting Service 1.0, por favor, veja esta postagem de 2005:

SQL Server Reporting Services e Crystal Reports: uma análise competitiva http://www.crystalreportsbook.com/SSRSandCR_Conclusion.asp

Intereting Posts