Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá pessoal,
Criei um processo de recarga via linha de comando do qlikview desktop (qv.exe /r /nosecurity) que é executado através de uma BAT. O problema se dá ao termino da recarga após salvar o qvw. O executável QV.exe fica ativo no gerenciador de tarefas e consumindo 50 % de CPU (maquina com 2 cores). Não há nenhuma interface visual do Qlikview visivel (desktop, janela de recarga, mensagem de erro).
Desta forma o processo seguinte de recarga de outro QVW fica suspenso. A BAT segue adiante somente se eu "matar" o processo QV.exe que ficou travado.
O problema ocorre em máquinas com windows xp. O problema é errático, em algumas máquinas falha em outras não.
No windows 7 roda sem problemas.
Alguém já viu isso acontecer ?
Abraço,
Será que não é questão de acesso do usuário que esta rodando o .bat? Esta logado como administrador?
Por alguma maneira o Qlikview não esta avisando o Windows que o processo terminou.
Mesmo o QV.exe ficando preso na memória a recarga é efetuada? Você consegue verificar isso quando abre a aplicação novamente?
Tem formas de fazer isso e garantir que o processo terminar através de macros, se quiser dou mais detalhes!!
Bom dia Pablo.
Você está utilizando o comando taskkill qv.exe /t ao final de seu script batch?
Talvez isto ajude
Hoje estou fazendo alguns teste e suspeito que esteja relacionado a perfil de usuário. Em um perfil onde sei que existem "group policies" do windows ocorre o problema, em outro que uso também como conta de serviço do qlikview server, não ocorre o problema . Parece que neste usuário de conta de serviço não estão atuando as group policies.
Fazendo o processo de recarga via vbscript, para usuários restritos, aparentemente contornou o problema.
Sigo ainda fazendo os testes.
Pedro,
Qual versão? vou montar um lab para testar aqui.
Duvida...
A app está marcada com compressão?
Se sim, faça por gentileza o teste sem compressão nenhuma
Pessoal,
Para fechar a questão, o uso de uma macro resolveu o problema. A minha analogia para usar esta solução é de que executando manualmente os procedimentos de abrir: qlikview, abrir documento, executar recarga, salvar e depois fechar o Qlikview não apresentava problema algum.
Segue código:
set Qv = CreateObject("QlikTech.QlikView") ' inicia o Qlikview
Set docObj = Qv.OpenDocEx ("nomedaaplicacao.qvw",0,false,"","","",true) 'abre documento sem dados
DocObj.reload 'recarrega
DocObj.Save 'salva documento
docObj.CloseDoc ' fecha documento
Qv.Quit ' fecha o Qlikview
Este codigo eu gravei num arquivo com extensão vbs por convenção e para executá-lo, uso cscript.exe nome_script.vbs dentro do BAT.
Yuri, o qvw era gravado e o script informava conclusão com sucesso. o Qv.exe ficava travado
Raphael, não foi preciso usar o TaskKill no final. Somente deixei no inicio para garantir que não tem uma instancia do qlikview rodando no momento da carga.
Hamilton, o usuário não tem perfil de administrador local da máquina. Pode ser que isto estivesse interferindo, mas não houve tempo de mudar o perfil do usuário e testar novamente.
Clever, a versão era a 11.2 SR5 num windows xp SP3 com 2 cores AMD Athlon. Não cheguei a testar desabilitando a compressão.
Obrigado a todos pelo envio das dicas para tentar resolver o problema.
Muito bom Pablo!
Eu iria propor para você colocar o código VB dentro do QV e criar um gatilho para quando o QV abrir executar tal macro, mas sua solução também funciona!