Jump to content
Sign in to follow this  
SLIFE

Executar Mapas

Recommended Posts

SLIFE

Boas

Mais uma vez volto a este topico.

Á tempo criei um topico a pedir ajuda acerca desta situação, mas acabei por não conseguir resolver.

Passei a frente e deixei isso.

Agora que tenho a minha app mais avançada, precisava mesmo de resolver isto.

Não consigo que os relatorios que faço na minha aplicação corram noutros pcs.

Fiz relatorios com o crystal reports.

Utilizei bases de dados Access.

No pc onde criei a aplicação e os relatorios funciona, mas se passar a app para outro computador, cada vez que mando executar um relatorio, ele pede-me utilizador e password, mesmo não tendo na base de dados nada disso atribuido.

Caso alguem tenha conhecimento e já tenha feito, como fazem a distribuição dos reports para outras maquinas?

Se alguem me poder ajudar agradecia.

Cpts

SJC


Sandro Coelho

Share this post


Link to post
Share on other sites
Caça

Isso acontece porque o report está a procura da BD num caminho que não existe, ou seja, está a procura do caminho da BD que está na tua máquina


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Away

Tente o utilizador e password do pc onde criaste, Talvez esteja configurado para "User Credentials" ou algo do genero..


Msgbox("I Help if i can, Hope some day you help me too!")

Share this post


Link to post
Share on other sites
SLIFE

Tente o utilizador e password do pc onde criaste, Talvez esteja configurado para "User Credentials" ou algo do genero..

Boas

Tambem já tentei usar o User Credentials, mas nada.

Será por ser BDs em Access?

Mas funciona na minha maquina.


Sandro Coelho

Share this post


Link to post
Share on other sites
SLIFE

Isso acontece porque o report está a procura da BD num caminho que não existe, ou seja, está a procura do caminho da BD que está na tua máquina

Não é isso porque já atribui o caminho manualmente para ele ir buscar a BD a pasta onde se encontra instalado a App.

Por isso não creio que seja isso.

Ele pede sempre password e user.

Mesmo colocando na Bd password e user ele continua a pedir o mesmo e não passa para o mapa.


Sandro Coelho

Share this post


Link to post
Share on other sites
SLIFE

Chuta a connectionString da BD.

Boas

O codigo que tenho para geral o mapa é:

Dim strconexao As String = My.Settings("BDErrosConexao").ToString
        Dim oConn As New OleDbConnection
        Dim strSQL As New StringBuilder
        Dim oTable As New DataTable
        Dim oCmd As OleDbCommand = Nothing
        Dim StrReportPath As String = ""


        Try
            StrReportPath = String.Concat(Replace(My.Application.Info.DirectoryPath(), "\bin\debug", ""), "\report2.rdlc")
            VertodososErros.LocalReport.ReportPath = StrReportPath

            oConn.ConnectionString = strconexao
            oConn.Open()

            ' strSQL.Append("SELECT IDerro, Familia, SubFamilia, Descricao, Resolucao FROM (Erros) WHERE (Familia = 'Hardware')")
            strSQL.Append("SELECT * from erros")
            oCmd = New OleDbCommand(strSQL.ToString, oConn)
            oCmd.CommandText = strSQL.ToString
            oCmd.CommandType = CommandType.Text

            Dim oDataReader As OleDbDataReader = oCmd.ExecuteReader(CommandBehavior.CloseConnection)
            oTable.Load(oDataReader)

            Dim MyReportDataSource As ReportDataSource = New ReportDataSource("DSErros_Erros", oTable)
            VertodososErros.LocalReport.DataSources.Add(MyReportDataSource)


        Catch ex As Exception
            System.Diagnostics.Debug.WriteLine(ex.Message)
        End Try
        oConn.Dispose()
        oTable.Dispose()
        oCmd.Dispose()


        oConn = Nothing
        oTable = Nothing

        oCmd = Nothing


Sandro Coelho

Share this post


Link to post
Share on other sites
bioshock

Com a linha de código:

My.Application.Info.DirectoryPath()

É normal que não consigas visualizar nos outros computadores.

Deves utilizar:

Application.StartupPath()

Btw, vai para aí uma "salgalhada" no código..:)

Share this post


Link to post
Share on other sites
SLIFE

Com a linha de código:

My.Application.Info.DirectoryPath()

É normal que não consigas visualizar nos outros computadores.

Deves utilizar:

Application.StartupPath()

Btw, vai para aí uma "salgalhada" no código..:)

Pois

Pelos vistos era mesmo isso.

Ja aletrei e experimentei noutro pc e funcionou.

Mas tive de usar o report viewer.

Com o crystal reports nao consegui.

Fica sempre a pedir utilizador e password.

Mas acho que me safo com o report viewer.

Em relação ao codigo, tens razao esta confuso, mas nao acabado. tenho que limpar isto (estava em testes).

Para funcionar noutros computadores e sempre preciso que seja instalado o reports viewer 2008 distribuicao????


Sandro Coelho

Share this post


Link to post
Share on other sites
bioshock

Tens de ter em atenção se vais incutir isso em alguma empresa...

Caso esse componente não seja grátis, pode dar barraco. Se não usas nenhuma library externa, em princípio terás de instalar esse componente.

Share this post


Link to post
Share on other sites
SLIFE

Tens de ter em atenção se vais incutir isso em alguma empresa...

Caso esse componente não seja grátis, pode dar barraco. Se não usas nenhuma library externa, em princípio terás de instalar esse componente.

o report viewer não e gratuito para distribuição?


Sandro Coelho

Share this post


Link to post
Share on other sites
bioshock

É gratuito. Não tinha a certeza e estava-te a alertar para o caso de não o ser.

Share this post


Link to post
Share on other sites
SLIFE

É gratuito. Não tinha a certeza e estava-te a alertar para o caso de não o ser.

Ok, obrigado pela dica.

Já gora sabes como posso colocar o programa a verificar se tem o report viewer instalado, e se não tiver efectuar a instalação?


Sandro Coelho

Share this post


Link to post
Share on other sites
bioshock

Isso vai junto com o setup e aí, automaticamente, detecta se têm ou não instalado.

Share this post


Link to post
Share on other sites
SLIFE

Isso vai junto com o setup e aí, automaticamente, detecta se têm ou não instalado.

Costumas criar o setup com algum programa externo?

Como fazes?


Sandro Coelho

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.