Ir para conteúdo
Fórum Script Brasil
  • 0

Erro ao publicar relatórios


BStar

Pergunta

Olá, Boa Tarde a todos...

Bem, estou tendo problemas para publicar os meus relatórios na web pelo meu servidor.

Meu IIS crei eu, esta configurado corretamente pois eu consigo publicar outras aplicações nele perfeitamente....

Bom, eu desenvolvi alguns relatórios no Crystal e junto com eles, duas telas em Asp.Net (aspx).

Uma para a entrada de dados que serão usados como parâmetros de busca e a segunda contendo o CrystalReportViewer para a visualização dos relatórios.

O problema é que eu todas vez que eu tento publicar ele pelo IIS, aparece uma tela me pedindo para entra com um usuário e uma senha... Não consigo entender pois esse banco de dados (.mdb)m, é um banco simples, não tem autenticação alguma.

Quando executo pelo VS2005, ela (aplicação) funciona normalmente, mas quando compilo e tento rodar pelo meu IIS, dá esse “erro”:

erro1h.jpg

Pesquisei sobre desabilitar um tal de “EnablaDataBaseLogonPrompt mas ai, fica ainda pior:

erro2m.jpg

Já tentei, mexer com o web.config com algumas coisas que achei na net e nada também...

Será que alguém já passou por essa situação e conseguiu resolver? Por enquanto, eu estou querendo publicar na minha própria maquina que está com o WinXP – Pro, IIS 5.1 e Crystal 8.5 (o que vem com o VS2005 eu acho).

Depois disso, depois que estiver rodando beleza, eu vou instalá-la no nosso servidor com o Win2k3, IIS 6.1 e Crystal 8.5.

ps. (Crystal Redistribute e ASPNET_REGIIS.EXE instalados)

O meu muito obrigado a todos que ajudarem!

Abraço!

Editado por BStar
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Olá Tiago_BB, o código e um pouco grande mas, basicamente, ele consiste em pegar alguns parâmetros, fazer a consulta, e jogar o resultado no relatório que esta numa segunda pagina (code 2)

Default.aspx

Protected Sub btnBuscar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnBuscar.Click

        Dim CANAL As New CrystalDecisions.Shared.ParameterValues
        Dim CAMPO As New CrystalDecisions.Shared.ParameterDiscreteValue

        'Parametros
        Dim Convenio As String = listPrestador.Text
        Dim Hospital As String = txtHospital.Text
        Dim Paciente As String = txtPaciente.Text
        Dim Cid As String = txtCid.Text
        Dim Guia As String = txtGuia.Text

        'obtem e formata o valor das datas                 
        Dim dataIni, dataFin As String

        If txtDataMin.Text = "" And txtDataMax.Text = "" Then
            txtDataMin.Text = "01/01/2008"
            txtDataMax.Text = (DateTime.Now.ToString)

        End If
        If txtDataMin.Text = "" And txtDataMax.Text <> "" Then
            txtDataMin.Text = "01/01/2008"
        End If

        If txtDataMin.Text <> "" And txtDataMax.Text = "" Then
            txtDataMax.Text = (DateTime.Now.ToString)
        End If

        Dim data1 As Date = txtDataMin.Text
        dataIni = String.Format("{0:dd/MM/yyyy}", data1)

        Dim data2 As Date = txtDataMax.Text
        dataFin = String.Format("{0:dd/MM/yyyy}", data2)

        '********************************************************
        Dim strReportName As String = "rpt1Prestadores"
       
        'define o caminho e nome do relatorio
        Dim strReportPath As String = "C:\RELATORIO\WebRelatorios\www" & "\" & strReportName & ".rpt"

        'verifiqa se o arquivo existe
        If Not IO.File.Exists(strReportPath) Then
            Throw (New Exception("Relatorio não localizado :" & vbCrLf & strReportPath))
        End If
        '********************************************************

        Dim Relatorio As New ReportDocument

        Relatorio.Load(strReportPath)

        'Data Inicial
        CAMPO.Value = dataIni
        CANAL.Add(CAMPO)
        Relatorio.DataDefinition.ParameterFields("DataI").ApplyCurrentValues(CANAL)

        'Data Final
        CAMPO.Value = dataFin
        CANAL.Add(CAMPO)
        Relatorio.DataDefinition.ParameterFields("DataF").ApplyCurrentValues(CANAL)

        'Convenio
        CAMPO.Value = listPrestador.Text
        CANAL.Add(CAMPO)
        Relatorio.DataDefinition.ParameterFields("convenio").ApplyCurrentValues(CANAL)

        'Hospital
        CAMPO.Value = txtHospital.Text
        CANAL.Add(CAMPO)
        Relatorio.DataDefinition.ParameterFields("hospital").ApplyCurrentValues(CANAL)

        'Guia
        CAMPO.Value = txtGuia.Text
        CANAL.Add(CAMPO)
        Relatorio.DataDefinition.ParameterFields("guia").ApplyCurrentValues(CANAL)

        'Paciente
        CAMPO.Value = txtPaciente.Text
        CANAL.Add(CAMPO)
        Relatorio.DataDefinition.ParameterFields("paciente").ApplyCurrentValues(CANAL)

        'cirurgia
        CAMPO.Value = txtCodCir.Text
        CANAL.Add(CAMPO)
        Relatorio.DataDefinition.ParameterFields("codigo").ApplyCurrentValues(CANAL)


        'crio uma sessao e adiciono a essa sessao o meu relatorio para ser exibido em outra página
        Session.Add("rel", Relatorio)

        'transfiro para outra pagina
        Server.Transfer("Rel1Result.aspx")

    End Sub
Rel1Result.aspx (code 2)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        'chamo a sessao da pagina anterior, recupero e exibo o meu relatorio
        Dim Relatorio As CrystalDecisions.CrystalReports.Engine.ReportDocument = Session.Item("rel")
        Relatorio.SetDatabaseLogon("", "") <<<<<<<< já tentei isso e não funciona :(
        'desabilita o prompt de parametro do Crystal
        CrystalReportViewer.EnableParameterPrompt = False

        'desabilita o logo "business object" na toolbar
        CrystalReportViewer.HasCrystalLogo = False

        'desabilita o "grupo raiz"
        'CrystalReportViewer.DisplayGroupTree = False

        'desabilita a toolbar
        CrystalReportViewer.DisplayToolbar = True

        CrystalReportViewer.ReportSource = Relatorio

    End Sub

Sera que tem alguma coisa errada?

Abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

Mas você usa o Crystal Report ou o ReportViewer?

Será que pode colocar um exemplo de como você faz?

Já estou ficando desesperado por não conseguir fazer funcionar em meu servidor... Se fossem um ou dois relatórios beleza, eu faria em DataGrid no próprio VB/AspNet... Mas são 11 relatórios que eu levei 2 meses fazendo e agora não funcionam :(

E desanimador! :(

Obrigado pelo retorno!

Link para o comentário
Compartilhar em outros sites

  • 0

Uso o Crystal Reports.

De forma bem resumida:

1 - Crie um dataset, contendo o nome dos campos que farão parte do seu relatório.

2 - Crie o relatorio do crystal e utiliza o recordset como fonte de dados.

3 - Na programação retorne o resultado do seu select em um datatable.

depois...

Dim rel as new "Seu rpt criado"

rel.SetDataSource(odatatable)

crystalreportviewer.reportsource = rel

Testa isso.

Se você puder ler um tópico que postei agora a poucoa respeito do suppress if duplicate eu agradeço.

As vezes você pode me ajudar tambem!!!

Atte.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...