Pergunta

Eu estou olhando para integrar Crystal Reports 2008 em um aplicativo Windows Forms. Eu gostaria de evitar conexões diretas de meu aplicativo cliente para o banco de dados, dando ao usuário a experiência de "completo" relatório. É possível para o Crystal Reports 2008 para executar um relatório em um servidor em um do lado do cliente Windows Forms controle do cliente, semelhante ao Microsoft Reporting Services?

Foi útil?

Solução

Eu não sei se é exatamente o que você está depois, mas eu posso pensar de 2 maneiras que você poderia falsificar isso:

  1. Você pode configurar o seu relatório para que o 'banco de dados' é um arquivo XSD, sem o conhecimento do backend real. Em seguida, em tempo de execução você empurrar os dados para o relatório.

// Criar uma instância em tempo de execução apropriado para o ambiente - exemplo apenas:

ReportClass rc = new ReportClass ();

rc.Load (crystalReportFileName);

rc.SetDataSource (myIEnumerableData);

CrystalReportViewer crv = new CrystalReportViewer ();

crv.ReportSource = rc;

// exibe o visualizador de cristal.

2 -. Você poderia fazer o mesmo que 1 em um servidor (independentemente da abordagem de banco de dados), então salve o relatório e empurrá-lo para o cliente

// Alguns do lado do servidor / serviço de método etc

public byte [] GetMyReport () {

ReportClass rc = new ReportClass ();

rc.Load (crystalReportFileName);

rc.SetDataSource (myIEnumerableData);

rc.SaveAs (serverSideFile, True); // verdadeiro é fundamental para salvar os dados com o relatório

retorno .... // converter o arquivo criado para um array de bytes Suponho

}

lado // Cliente

byte [] rep = Server. GetMyReport ()

ReportClass rc = ..... // converso representante de volta para um relatório de cristal

CrystalReportViewer crv = new CrystalReportViewer ();

crv.ReportSource = rc;

Outras dicas

Isto não é realmente o que está pedindo, mas Crystal Reports Server faz relatórios do lado do servidor.

Em contrapartida, é irritantemente caro.

http://www.businessobjects.com/product/catalog/crystalreports_server/

Não consigo adicionar um comentário ao acima, como eu não tenho pontos, mas espero que isso ajude.

Crystal Reports Server é executado um reporta contra as fontes de dados, a idéia é que os clientes sem relatórios de cristal ou acesso a dados pode executar relatórios via web, ou as corridas de servidores relatórios programados e enviar os resultados para fora. Eu não sei se você pode integrá-lo embora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top