Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal, boa tarde
Tenho um qvw que executa um script (select) que leva mais de 30 segundos para ser executado no banco de dados, Com isso, toda a vez que vou dar uma recarga, recebo o seguinte erro:
"QVX_UNEXPECTED_END_OF_DATA: ERROR [HYT00] [Qlik][ODBC Oracle Wire Protocol driver]Timeout expired.
ERROR [HYT00] [Qlik][ODBC Oracle Wire Protocol driver]Timeout expired."
Gostaria de saber como posso aumentar o tempo do Timeout no qlikview, por exemplo, para ele dar timeout só após 2 minutos.
Estou usando Qvodbcconnectopackage e a banco é Oracle.
Obrigada!
Não sei no Qlik View, mas creio que é nesse lugar que configura o timeout
No Qlik View deve ter algo semelhante...
Olá Fabiola, na verdade o problema do timeout ocorre no momento em que, dentro de um qvw, executo um select no banco de dados.
Andei pesquisando e parece que existe uma forma de definir o timeout no momento em que criamos a string de conexão. No item "advanced", colocamos a propriedade QueryTimeout e definimos o tempo:
Só que eu fiz algumas tentativas colocando um valor de 600 segundos e não funcionou... alguém sabe se estou fazendo certo?
Acho que esse timeout do Drive é para tentar conectar no banco, a conexão deve ser rápida então provavelmente vc leva o timeout com o mesmo tempo que levava antes. Certo?
Deve dar timeout porque o sistema fica esperando uma resposta do banco e se ela não vem em 30 segundos, ele entende que não tem nada e fecha a conexão. Você tentou achar algo parecido com o que te falei?
Você chegou a olhar os logs?
Fabíola
Se existir data nessa tabela, tente executar a query, por exemplo, por mês/ano. Com isso, a sua query tende a ser mais rápida. Depois você pode criar um arquivo para cada mês/ano ou concatenar os resultados e salvar um arquivo único.
Olhei os logs sim, e eles dizem que é erro de time out mesmo. É isso aí que vc falou, a resposta do banco não vem em 30 segundos então ele encerra a conexão.
Descobri hoje que na propriedade "QueryTimeout", que falei antes, se eu puser o valor -1 ele executa a query pois o -1 seria algo como "sem timeout".
A questão é que eu gostaria de poder definir o tempo do timeout, não queria que fossem só 30 segundos e sim uns 2 minutos pelo menos...
Você achou o Atributo SQL_ATTR_LOGIN_TIMEOUT? Se não me engano tem como definir o tempo dentro dele
O problema foi resolvido? Se sim, marque as respostas úteis/correta para encerrar o tópico e ajudar a manter a comunidade organizada.
Para apoio;
Referência (Tópicos 2.3 e 2.4): Manual do usuário | Como criar e gerir minhas perguntas?
Abraço.