SALVAR RELATORIO NO BANCO DE DADOS
Ola Pessoal, Bom dia a todos!
é o seguinte desenvolvi um relatorio em crystal reports coloquei ele em uma pasta e a minha aplicação chama esse relatorio nessa pasta, até ai tudo bem, tentei fazer diferente salvei esse arquivo em um banco de dados mysql em uma tabela que tem um campo chamado arquivo que é do tipo BLOB, depois minha aplicação exporta o arquivo dessa tabela para a pasta porém ao carregar esses mesmo arquivo da erro ([Ô]Erro ao carregar arquivo[Ô]), sendo que é o mesmo arquivo somente importei para o banco de dados não alterei nada.
Alguém tem alguma ideia do que pode estar acontecendo?
Tem alguém que já fez algo parecido?
Existe outra maneira de fazer isso?
é o seguinte desenvolvi um relatorio em crystal reports coloquei ele em uma pasta e a minha aplicação chama esse relatorio nessa pasta, até ai tudo bem, tentei fazer diferente salvei esse arquivo em um banco de dados mysql em uma tabela que tem um campo chamado arquivo que é do tipo BLOB, depois minha aplicação exporta o arquivo dessa tabela para a pasta porém ao carregar esses mesmo arquivo da erro ([Ô]Erro ao carregar arquivo[Ô]), sendo que é o mesmo arquivo somente importei para o banco de dados não alterei nada.
Alguém tem alguma ideia do que pode estar acontecendo?
Tem alguém que já fez algo parecido?
Existe outra maneira de fazer isso?
Vc quer o relatorio mas nao como um arquivo solto na pasta de instalacao do programa?
Isso mesmo quero guarda-lo no banco de dados para que todos tenham acesso a ele, porque se for arquivo solto tenho que colocar o arquivo em todas as maquinas que tiverem o sistema instalado.
Quando eu compilo o projeto, o crystal é recompilado junto, vc tem alguma objeção quanto a isso ?
veja tem como deixar o CR dentro do projeto, integrado (não como arquivo solto, e sim como um form), e não como arquivo q deve ser copiado de maquina em maquina, além de poder ser compilado junto e ir no programa de instalação, como dito......
veja é q são varias camadas, mas da pra entender mais ou menos....
veja é q são varias camadas, mas da pra entender mais ou menos....
Dim oRP As New crpProduto [ô]nome do relatório
oRP.SetDataSource(DT) [ô]carrega o datatable
tela.CRV.ReportSource = oRP [ô]tela é o nome do form, crv o Crystal report view
tela.CRV.RefreshReport()
tela.ShowDialog()
oRP.Close()
oRP.Dispose()
São uma infinidade de relatórios e dependendo da quantidade de relatórios o tamanho do exe fica bem grande e esse executavel se atualiza automaticamente então quanto menor melhor, e o mais importante ainda é que os relatóios não são os mesmos para todos os clientes, são customizados para cada necessidade então não tem como ser dentro do executavel tem que ser externos, por isso que eu queria salva-los no banco de dados, até consegui salvar porem na hora de chamar o relatório da [Ô]falha ao carregar relatório[Ô].
sendo assim, vc deve chamar a rotina de recuperação dos dados do BD e reescrever o arquivo na pasta do programa, logo ao iniciar o programa, pra q qnd precisar, os arquivos já estarem prontos e disponÃveis....
mas depende do erro q ta dando, creio q se vc tentar usa-lo dentro do banco sem reescrever em forma de arquivo va da erro mesmo
mas depende do erro q ta dando, creio q se vc tentar usa-lo dentro do banco sem reescrever em forma de arquivo va da erro mesmo
Na verdade eu não expliquei direito, fiz exatamente isso, reescrevi o arquivo para um diretorio e a minha aplicação chamou ele, mas da o erro comentado, o arquivo funciona perfeitamente mas depois que coloco ele no banco de dados e reescrevo ai ele da erro, abri a extrutura do arquivo no bloco de notas e verifiquei que estão identicos os dois arquivos, o arquivo antes de colocar no banco e depois de colocar no banco e reescreve-lo, parece que ao reescrer o arquivo do crystal reports alguma coisa muda e a minha aplicação não consegue chama-lo.
use algum algoritmo pra comparar os arquivos, tipo um hash de ambos, pq alguma coisa eles tem de diferentes, ou depende a forma como alimenta o rpt, ou o próprio caminho, por isso dizer q não esta disponÃvel, pode ser o path atual do arquivo...
veja q no inicio apanhei com isso de path de arquivos, pq as vezes criava um arquivo dentro da pasta do executável, e ficava lendo, qnd mudava a forma de compilação mudava a pasta onde o exe era compilado e nao encontrava o arquivo kkkkkk
veja q no inicio apanhei com isso de path de arquivos, pq as vezes criava um arquivo dentro da pasta do executável, e ficava lendo, qnd mudava a forma de compilação mudava a pasta onde o exe era compilado e nao encontrava o arquivo kkkkkk
Faça seu login para responder