Clipper On Line • Ver Tópico - Pesquisa travando

Pesquisa travando

Discussão sobre SQL

Moderador: Moderadores

 

Pesquisa travando

Mensagempor JoséQuintas » 12 Ago 2021 12:38

No momento um grande problema: a consulta está travando

      :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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Pesquisa travando

Mensagempor JoséQuintas » 12 Ago 2021 14:16

mysql.png


É 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:cn: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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Pesquisa travando

Mensagempor sergiosouzalima » 12 Ago 2021 15:03

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.
sergiosouzalima
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 26 Out 2020 11:25
Cidade/Estado: São Paulo / SP
Curtiu: 1 vez
Mens.Curtidas: 4 vezes

Pesquisa travando

Mensagempor JoséQuintas » 12 Ago 2021 15:17

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Pesquisa travando

Mensagempor sergiosouzalima » 12 Ago 2021 15:41

É 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.
sergiosouzalima
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 26 Out 2020 11:25
Cidade/Estado: São Paulo / SP
Curtiu: 1 vez
Mens.Curtidas: 4 vezes

Pesquisa travando

Mensagempor JoséQuintas » 12 Ago 2021 17:03

Em TODO o aplicativo eu uso o :EOF()
DO WHILE ! :Eof()
   :MoveNext()
ENDDO


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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Pesquisa travando

Mensagempor JoséQuintas » 12 Ago 2021 19:12

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Pesquisa travando

Mensagempor JoséQuintas » 12 Ago 2021 21:08

w10.png


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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Pesquisa travando

Mensagempor JoséQuintas » 12 Ago 2021 21:13

isos.png


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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro