none
Report load failed ao gerar relatório no crystal via web (ASP.NET / VB.NET) RRS feed

  • Pergunta

  • Tudo bem, pessoal? Estou um problema seríssimo relacionado ao crystal reports. Quando executo o relatório localmente acessando a base de dados no servidor web, o relatório é executado sem nenhum problema. Porém quando "subo" o arquivo (rpt) para o servidor a seguinte mensagem é exibida: "Load report failed". É a primeira vez que estou gerando um relatório via web e não sabia da dificuldade que é fazê-lo funcionar no servidor. Eu já copiei todas as Dll´s do crystal (inclusive aquelas que estão no assembly), além de instalar o pacote CR basic no servidor. Realmente eu não sei o que pode estar acontecendo. Será que é algo relacionado relacionado à permissão? A impressão que dá é que o servidor executa o arquivo, mas não consegue exibí-lo, pois dá para visualizar um pouco a barra de navegação do crystal.
    Por favor, peço ajuda à vocês, pois o Cliente está cobrando.
    Desenvolvedor VB.NET
    quarta-feira, 14 de outubro de 2009 19:24

Todas as Respostas

  • Marcos.
    Dias atrás passei por maus bocados com o Crystal...
    Dá uma olhada neste post, talvez a solução esteja aí.
    Boa sorte...




    Notepad na mão e uma idéia na cabeça......Se foi útil, marca lá.... Me ajuda que eu marco também... heheheh
    quarta-feira, 14 de outubro de 2009 20:17
  • Eu tinha muito este problema, e quando eu resolvia era só mudar de servidor e lá ia eu registrando msm e etc..
    Enfim resolvi isto da seguinte maneira, fiz a chamada via Web diretamente pelo Crystal Reports, sem usar as bibliotecas do .net e funcionou.
    Publiquei isso no link: http://sites.google.com/site/tecguia/utilizando-o-crystal-reports-diretamente-com-vbnetaspnet

    Espero que ajude
    João da Costa
    quinta-feira, 15 de outubro de 2009 19:48
  • João, o seu código ocosiona alguns erros como: "variáveis não declaradas" , "tipo não definido"
    Segue abaixo os blocos que estão ocasionado erros de compilação:

     

    Dim NomeImpressora As String = Me.NomeImpressoraDesigner

     

    If NomeImpressora.Trim <> "" Then

     

    Dim query As String = "Select * From Win32_Printer Where DeviceID = '" & NomeImpressora & "'"

     

    Dim buscador As New ManagementObjectSearcher(query)

     

    Dim resultados As ManagementObjectCollection = buscador.Get

     

    Dim Driver As String = ""

     

    Dim Porta As String = ""

     

    For Each Impressora As ManagementObject In resultados

    Driver = Impressora(

    "DriverName")

    Porta = Impressora(

    "PortName")

     

    Next

    CR.SelectPrinter(Driver, NomeImpressora, Porta)

     

    End If

     

    'Embora nÆo coloquei aqui, eu tenho no meu c¢digo um Objeto chamada ObjetoCrystal, onde eu fa‡o a persistˆncia de tamanhos, mas vocˆs podem utilizar em Pixels. Lembrando que o Pixel nÆo ‚ um tamanho fixo, para calcul -lo vocˆs precisarÆo saber o Dpi (Dots per Inc “Pontos por Polegada”) da Impressora, fazer a conversÆo de polegadas para Pixel. Da¡ eu criei a fun‡Æo CPixel. Deixei publicado a fun‡Æo no final deste artigo.

     

    If Not ObjetoCrystal.TamanhoPadrao Then

    CR.PaperSize = CRAXDRT.CRPaperSize.crPaperUser

     

    Dim LarguraPapelMilimetros As Double = Me.LarguraPapelMilimetros

     

    Dim AlturaPapelMilimetros As Double = Me.AlturaPapelMilimetros

     

    Dim DpiImpressora As Double = DpiImpressoraDesigner

     

    Dim LengthPapel As Double = CPixel(AlturaPapelMilimetros, DpiImpressora)

     

    Dim LarguraPapel As Double = CPixel(LarguraPapelMilimetros, DpiImpressora)

    CR.SetUserPaperSize(LengthPapel, LarguraPapel)

     

    End If


    Desenvolvedor VB.NET
    sexta-feira, 16 de outubro de 2009 01:17