Discussão do artigo "Trabalhando com as funções de rede ou MySQL sem DLL: Parte II - Programa para monitorar as alterações nas propriedades do sinal" - página 3

 
leonerd #:

E em uma instância em execução (mysql antigo), isso acontece de vez em quando:

Here on data[ptr]:

Até agora, não consegui me conectar ao MySQL 8.0.23 (erro 1045: "acesso negado para o usuário ...").

Estou tentando descobrir.

Sobre o erro na linha (367, 37) - estranho. Você deve colocar uma verificação de ponto de interrupção ali e observar os valores das variáveis. Eu tenho essa biblioteca funcionando 24 horas por dia, não no primeiro ano, com solicitações a cada 30 segundos (não curto, com dados). E ela nunca travou uma única vez. Gostaria de saber qual consulta está causando o travamento.

 
Я пока что вообще не смог подключиться к MySQL 8.0.23 (ошибка 1045: "access denied for user ... ").
da GUI?
 

По поводу ошибки в строке (367, 37) - странно. Поставить бы там проверку с брейкпойнтом, посмотреть на значения переменных. У меня эта библиотека работает круглосуточно не первый год, запросы каждые 30 секунд (не короткие, с данными). И ни разу не падала. Знать бы, какой запрос её сносит.



Não é fácil de reproduzir.
 

o mySql está retornando POINTER_INVALID quando faço uma query no OnDeInit de um EA, porém o mesmo código funciona quando executo na função OnInit, alguém sabe o que pode ser?

 
Vinicius Oliveira #:

o mySql está retornando POINTER_INVALID quando faço uma query no OnDeInit de um EA, porém o mesmo código funciona quando executo na função OnInit, alguém sabe o que pode ser?

por favor, execute o código no depurador e nos diga em qual função o erro ocorre
 
Serhii Shevchuk #:
por favor, execute o código no depurador e nos diga em qual função o erro ocorre

Provavel local do erro


Aparentemente o erro pode estar dando aqui. Na função "bool CMySQLTransaction::Query(string q)", no arquivo MySQLTransaction.mqh

 
2022.02.19 13:09:10.266      array out of range in 'MySQLTransaction.mqh' (471,11)


 

2022.02.19 13:22:44.346 array out of range in 'MySQLTransaction.mqh' (501,11)



 

2022.02.19 14:24:31.882         CMySQLTransaction::PacketDataHandler: m_responses=1
2022.02.19 14:24:31.882         array out of range in 'MySQLTransaction.mqh' (502,11)

 

Veja mais informações sobre o tamanho da matriz no registro. Em geral, em algum lugar ele não muda corretamente ou m_responses está errado....

2022.02.19 14:28:59.455         CMySQLTransaction::PacketDataHandler: m_responses=1
2022.02.19 14:28:59.455         CMySQLTransaction::PacketDataHandler: m_rbuf size=1
2022.02.19 14:28:59.455         array out of range in 'MySQLTransaction.mqh' (503,11)


Fiz com que a matriz se expandisse manualmente para m_responses+1, se necessário.