Diskussion zum Artikel "Verwendung von Netzwerkfunktionen oder MySQL ohne DLL: Teil II - Programm zur Überwachung von Änderungen der Signaleigenschaften" - Seite 3

 
leonerd #:

Und auf einer laufenden Instanz (altes mysql) erhalte ich dies von Zeit zu Zeit:

Hier auf data[ptr]:

Ich kann mich bisher überhaupt nicht mit MySQL 8.0.23 verbinden (Fehler 1045: "access denied for user ... ").

Ich finde es heraus.

Zu dem Fehler in Zeile (367, 37) - seltsam. Sie sollten dort einen Breakpoint-Check setzen und sich die Werte der Variablen ansehen. Ich habe diese Bibliothek rund um die Uhr arbeiten nicht das erste Jahr, Anfragen alle 30 Sekunden (nicht kurz, mit Daten). Und sie ist nicht ein einziges Mal abgestürzt. Ich wünschte, ich wüsste, welche Abfrage es zum Absturz gebracht hat.

 
Я пока что вообще не смог подключиться к MySQL 8.0.23 (ошибка 1045: "access denied for user ... ").
von der grafischen Benutzeroberfläche aus?
 

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



Nicht leicht zu reproduzieren.
 

mySql gibt POINTER_INVALID zurück, wenn ich eine Abfrage in der OnDeInit eines EA tun, aber der gleiche Code funktioniert, wenn ich es in der OnInit-Funktion ausführen, weiß jemand, was es sein könnte?

 
Vinicius Oliveira POINTER_INVALID zurück, wenn ich eine Abfrage in der OnDeInit eines EA tun, aber der gleiche Code funktioniert, wenn ich es in der OnInit-Funktion ausführen, weiß jemand, was es sein könnte?
Bitte führen Sie den Code im Debugger aus und sagen Sie uns, in welcher Funktion der Fehler auftritt
 
Serhii Shevchuk #:
Bitte führen Sie den Code im Debugger aus und teilen Sie uns mit, in welcher Funktion der Fehler auftritt

Wahrscheinlicher Ort des Fehlers


Offenbar tritt der Fehler hier auf. In der Funktion"bool CMySQLTransaction::Query(string q)", in der Datei 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)

 

Hier ist mehr über die Array-Größe im Protokoll. Im Allgemeinen ändert es sich irgendwo nicht richtig oder m_responses ist falsch....

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)


Ich habe das Array manuell auf m_responses+1 erweitert, falls nötig.