Página 1 de 1
Pesquisa travando
Enviado: 12 Ago 2021 12:38
por JoséQuintas
No momento um grande problema: a consulta está travando
Código: Selecionar todos
:cSQL := "SELECT DISTINCT IEANP FROM JPITEM" + ;
" WHERE IEANP IN ( SELECT IDANPPRO FROM JPTABANPPRO WHERE APISIMP = 'S' )"
:Execute()
É uma consulta relativamente simples.
Funciona normalmente no HeidiSQL, coisa de 1 segundo.
Mas no programa está travando.
Alguma dica?
Mesmo banco, mesmas tabelas, mesmo comando.
Pesquisa travando
Enviado: 12 Ago 2021 14:16
por JoséQuintas
É pior do que eu pensava.
Essa consulta por STORED PROCEDURE uso faz tempo.
Esse bloco DO WHILE ! :Eof() uso faz tempo.
A partir do momento que chega em :EOF() e sai do DO WHILE......
Qualquer tentativa de acessar cnSQL trava.
Pode ser até ? cnSQL

connectionstring, que seria consultar a variável
No momento sem idéias.
Exceto sair desinstalando todas as atualizações da Microsoft, o que não explica só nessa parte falhar.
Pesquisa travando
Enviado: 12 Ago 2021 15:03
por sergiosouzalima
Olá!
Já inspecionou o texto gerado na variável cSql?
Eu pegaria o conteúdo da cSql e rodaria em algum client que acessa o banco para ver o resultado.
Só uma ideia.
Abraços.
Pesquisa travando
Enviado: 12 Ago 2021 15:17
por JoséQuintas
sergiosouzalima escreveu:Já inspecionou o texto gerado na variável cSql?
Eu pegaria o conteúdo da cSql e rodaria em algum client que acessa o banco para ver o resultado.
Já fiz isso.
Agora o problema é outro, ANTES de chegar no comando cnSQL já está travado.
Tá tudo funcionando bem, faz a primeira parte que tem que fazer, mas no ponto indicado acima qualquer acesso à conexão cnSQL trava tudo.
Correção:
É executada a stored procedure, que retorna registros.
Os registros são processados um a um, até acabar.
A partir deste momento, qualquer tentativa de acessar a conexão trava tudo.
Então, o problema que mencionei no início.... já está com problema antes de chegar no comando.
Pesquisa travando
Enviado: 12 Ago 2021 15:41
por sergiosouzalima
É executada a stored procedure, que retorna registros.
Os registros são processados um a um, até acabar.
A partir deste momento, qualquer tentativa de acessar a conexão trava tudo.
Será que esse Eof() não está fechando a conexão?
Podem ser várias coisas.
Eu tentaria processar só um registro, sem esse "while ... Eof()" para ver o comportamento.
Pesquisa travando
Enviado: 12 Ago 2021 17:03
por JoséQuintas
Em TODO o aplicativo eu uso o :EOF()
Essa parte é normal em tudo que é lugar.
Só nessa situação é que apareceu esse problema.
E essa rotina continua igual sempre foi, há pelo menos uns 3 meses.
(Na verdade há quase um ano, mas a última alteração foi há uns 3 meses).
Comecei a desinstalar atualizações do Windows, mas ainda não resolveu.
Pesquisa travando
Enviado: 12 Ago 2021 19:12
por JoséQuintas
Conhecem o carvalho?
Então, a casa dele tinha uma ponte, mas caiu.
O problema foi esse: a ponte que caiu da casa do carvalho....
Troquei o ODBC MariaDB 3.1.7 pra 3.1.13 e resolveu.
Também pode ser o ODBC MySQL 5.13
Antes que alguém diga:
Eles não são da Microsoft, são dos fabricantes das bases de dados.
Mas... pode ser que as versões mais novas sejam por mudanças da Microsoft, vai saber...
Porque eu estava usando o 3.1.7 ?
Porque é o último que funciona em Windows 7, e tem cliente com isso.
A propósito...
Quando o servidor MariaDB abandonou o uso de Windows 7, a instalação do MariaDB baixou de 80MB pra 50MB
A instalação do MySQL continua com quase 500MB, talvez tenha pra tudo que é sistema operacional ainda.
Conclusão: atualizar máquinas de Windows 7 pra Windows 10, enquanto é de graça, e enquanto tudo funciona.
Pesquisa travando
Enviado: 12 Ago 2021 21:08
por JoséQuintas
Nessa brincadeira de problema....
Eu estava com W10 - 21H2
Agora atualizando pra 20-04
Depois pra 20-H2
Depois pra 21-H1
Depois pra 21-H2
Como eu disse.... probleminha da casa do carvalho.... kkkk
Pesquisa travando
Enviado: 12 Ago 2021 21:13
por JoséQuintas
Só lembrando....
Desde que começou o Windows 10...
Sempre usei direto ISOs do HD, nada de pen drive ou DVD.
A última vez que usei boot/pen drive, foi quando troquei HD por SSD, porque aí não tinha por onde fazer boot.
Pelo menos isso ficou bom com W10.
Tem até ISO do W10 pré W11, mas tudo oficial, e até ISO 32 bits.