none
Relatório não mostra os dados quando mudo o banco RRS feed

  • Pergunta

  • Olá,

    a versão que utilizo é: Crystal for Visual Studio 2005.

     

    Tenho dois bancos, um para desenvolver e um para o usuário testar.

    Os relatórios funcionam perfeitos no banco de desenvolvimento porém quando aponto para o banco de dados de teste ele perde (não exibe) os dados, mesmo eu passando o banco em tempo de execução (código fonte).

    Eu já vinha tendo este problema, mas eu contornava de forma "manual" indo na opção "Set Datasource location" (em Database Fields no Field Explorer) e apontando para o banco de dados de teste. Rodava a aplicação e funcionava então fazia o Build/publish e a aplicação e passava a funcionar no banco de dados de teste. Porém desde que passei a utilizar uma SP dentro do relatório não consigo apontar para o banco de dados de teste nem desta forma "manual". Nem ao menos no "Preview Report".

    As tabelas e a SP estão identicas nos dois bancos. A única coisa que muda de um banco de dados para o outro é o nome do banco de dados.

     

    Alguém tem alguma luz ?

     

    Segue o código :

     

            Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
    
                ' Conexão via AD
                myConnectionInfo.ServerName = ConfigurationManager.AppSettings.Item("servidor")
                myConnectionInfo.DatabaseName = Catalog
                myConnectionInfo.IntegratedSecurity = True
    
                Dim i As Integer = 0
                Dim myTables As Tables = crReportDocument.Database.Tables
                Dim myTable As CrystalDecisions.CrystalReports.Engine.Table
                For Each myTable In myTables
                    Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
                    myTableLogonInfo.ConnectionInfo = myConnectionInfo
                    myTable.ApplyLogOnInfo(myTableLogonInfo)
                    crReportDocument.Database.Tables.Item(i).ApplyLogOnInfo(myTableLogonInfo)
                    crReportDocument.Database.Tables(i).Location = crReportDocument.Database.Tables(i).Name
                    myTable.Location = crReportDocument.Database.Tables(i).Name
                    i = i + 1
                Next
    
    ' outros códigos... etc etc etc... e segue com  ...
    
                          Dim oPf As ParameterValues
                                Dim oPv As ParameterDiscreteValue
    
                                oPf = New ParameterValues
                                oPv = New ParameterDiscreteValue
                                oPv.Value = m.Prazo
                                oPf.Add(oPv)
    
                                crReportDocument.SetParameterValue("@Prazo", oPv)
    
                                oPf = New ParameterValues
                                oPv = New ParameterDiscreteValue
                                oPv.Value = Format(CType(m.DtRegistro, Date), "MM/dd/yyyy")
    
                                oPf.Add(oPv)
    
                                crReportDocument.SetParameterValue("@DtRegistro", oPv)
    
                                oPf = Nothing : oPv = Nothing
    
                                crReportDocument.RecordSelectionFormula = strSelectionFormula.ToString()
                                crReportDocument.Export()
    
                                'escrevendo o pdf para o browser do cliente
                                Response.ClearContent()
                                Response.ClearHeaders()
                                Response.ContentType = "application/pdf"
                                Response.AddHeader("content-disposition", "inline; filename=Contrato.pdf") ' "", ReportName
                                Response.WriteFile(strPDFTmp)
                                Response.Flush()
                                Response.Close()
    


     

     

     

     

     

     


    "passei por aqui..."
    sexta-feira, 13 de janeiro de 2012 18:22