Página 1 de 1

Erro MySQL client ran out of memory

Enviado: 06 Jun 2023 14:05
por JoséQuintas
-2147467259 [MySQL][ODBC 5.3(a) Driver][mysqld-5.5.5-10.6.3-MariaDB]MySQL client ran out of memory
Full SQL:
SELECT ...
Called from ADOCLASS:EXECUTERETURNRS(354)
Called from ADOCLASS:EXECUTE(255)
Called from PGOVSCANC(86)
Called from DO(0)
Called from DOPRG(146)
Called from (b)RUNMODULE(111)
Estou estranhando esse erro, porque é pouca informação pra ser erro de memória.
Alguma dica?

Erro MySQL client ran out of memory

Enviado: 06 Jun 2023 14:27
por JoséQuintas
query.png
Ok, seria pouca informação se a query estivesse correta.
Vincular cadastro do estoque com cadastro de pedidos aí multiplica tudo kkkk

Nota:
Coloquei a query aí e bloqueei algumas partes pra testar passo a passo

Erro MySQL client ran out of memory

Enviado: 06 Jun 2023 14:40
por JoséQuintas
query2.png
Não, não parou lá.
Vincular pedido do estoque diretamente com nota fiscal também não dá certo.
Acabou multiplicando notas sem pedido.
Alterei pra vincular com pedido existente - ao invés de relacionar com tabela estoque (ESpedido), relacionei com tabela pedido (IDpedido)

Erro MySQL client ran out of memory

Enviado: 06 Jun 2023 15:47
por JoséQuintas
Ficou assim

Código: Selecionar todos

      :Execute( "SELECT ESDATLAN, ESQTDE, IEANP, CDCNPJ, CDINSEST, CDUF," + ;
         " PDPEDCLI, NFNOTFIS, IPCFOP, NFPLACA, TPCNPJ" + ;
         " FROM JPESTOQUE" + ;
         " LEFT JOIN JPPEDIDO ON ESPEDIDO=IDPEDIDO" + ;
         " LEFT JOIN JPCADASTRO ON ESCADASTRO=IDCADASTRO" + ;
         " LEFT JOIN JPITEM ON ESPRODUTO=IDPRODUTO" + ;
Na parte acima, vinculado diretamente, porque são únicos

Código: Selecionar todos

         " LEFT JOIN JPITPED ON IDPEDIDO=IPPEDIDO AND ESPRODUTO=IPPRODUTO" + ;
         " LEFT JOIN JPNOTFIS ON IDPEDIDO=NFPEDIDO" + ;
Com produtos de pedidos, misto, porque depende de ter encontrado pedido único
E com nota fiscal pelo pedido único

Código: Selecionar todos

         " LEFT JOIN JPTRANSP ON NFTRANSP=IDTRANSP" + ;
E por último a transportadora da NF com cadastro de transportadoras e SE encontrar nf.


E alguns com INNER JOIN, outros com LEFT JOIN
Por exemplo, nota de fornecedor não vai existir nas notas emitidas, INNER JOIN sumiria com os lançamentos de fornecedor.

Pois é, pediu certo vém certo, pediu errado.... dá até falta de memória no servidor.

Pra curiosidade:
O servidor continua lá, firme e forte, o erro de memória de uma consulta não atrapalhou o resto, e já está como se nada tivesse acontecido.
Num servidor de site deve ter muito mais precaução do que no meu, então, tranquilo errar...