Relatorio Crystal preenche correto em minha máquina, mas em outras preenche pela metade.

05/10/2010

Amigos,

Fiz um relatório Crystal via wizard, e no load chamei o seguinte código:






//Seta um objeto capaz de ler o App.Config
            AppSettingsReader configurationAppSettings = new AppSettingsReader();

            ConnectionInfo connectionInfo = new ConnectionInfo();
            //Monta parcialmente a string de conexão lendo a partir do App.Config
            connectionInfo.ServerName = configurationAppSettings.GetValue("Data Source", typeof(String)).ToString();
            connectionInfo.UserID = configurationAppSettings.GetValue("User ID", typeof(String)).ToString();
            connectionInfo.Password = configurationAppSettings.GetValue("Password", typeof(String)).ToString();
            connectionInfo.DatabaseName = configurationAppSettings.GetValue("Initial Catalog", typeof(String)).ToString();

            ReportDocument Report = new ReportDocument();
                      
            //Concatena o caminho inicial com a localização do report
            string sDiretorioReport = Application.StartupPath + @"\..\..\..\Materiais\Reports\rptFichaDePoste.rpt";
                                 
            Report.Load(sDiretorioReport);

            SetDBLogonForReport(connectionInfo, Report);

            Report.SetParameterValue("Ficha", CodigoFicha);
         

            crystalReportViewer1.ReportSource = Report;

            SetDBLogonForReport(connectionInfo, Report);

            //crystalReportViewer1.PrintReport();
            crystalReportViewer1.Refresh();
        }

        private void SetDBLogonForReport(ConnectionInfo connectionInfo, ReportDocument ArquivoReport)
        {
            Tables tables = ArquivoReport.Database.Tables;
            foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
            {
                TableLogOnInfo tableLogonInfo = table.LogOnInfo;
                tableLogonInfo.ConnectionInfo = connectionInfo;
                table.ApplyLogOnInfo(tableLogonInfo);
            }
        }











Ele lê o caminho do banco do app.config.

Na minha máquina funciona todos os dados.
Em outras maquinas preenche apenas metade, algumas tabelas preenchem, outras tabelas nao.
O que está faltando?
Daniel Vieira

Daniel Vieira

Curtidas 0

Respostas

Luiz Maia

Luiz Maia

05/10/2010

Daniel, chega a retornar parte dos dados? As tabelas estão todas no mesmo banco de dados? ou faz join que outros bancos?
GOSTEI 0
Daniel Vieira

Daniel Vieira

05/10/2010

Sim Luiz, retorna algumas tabelas e outras não.
É um banco só.
Inclusive pra ter certeza eu restaurei o banco da minha máquina na outra máquina (a estrutura já era a mesma, mas eu restaurei pra inclusive ver os mesmos dados), e lá continua preenchendo pela metade.

Analisando meu código, teria mais alguma coisa pra fazer?
Eu não passo nenhuma query pro report, eu faço via wizard e chamo aquela rotina de ler tabelas que achei na internet. Seria apenas isso?
GOSTEI 0
Luiz Maia

Luiz Maia

05/10/2010

Favor certificar-se que não há algum tipo de top, tipo "select top 10 * from" em sua query, ou mesmo algum tipo de restrição de registros na paginação, ou algo deste tipo.
GOSTEI 0
Devmedia

Devmedia

05/10/2010

Daniel,
as respostas lhe ajudaram? Podemos encerrar o chamado?
GOSTEI 0
Devmedia

Devmedia

05/10/2010

Daniel,
por favor de retorno estamos encerrando o seu chamado. Caso tenha dúvidas sobre o assunto aqui tratado, por favor, post aqui mesmo e o consultor voltará a lhe ajudar.
GOSTEI 0
POSTAR