Diskussion zum Artikel "Wie man auf die MySQL-Datenbank von MQL5 (MQL4) aus zugreift" - Seite 18

 

Hallo, ich habe dieses Dokument mit großem Interesse gelesen.

Darf ich Ihnen eine Frage stellen?

Ich möchte wissen, wie man die Verbindung mit MySQL bestätigt.

Bitte zeigen Sie mir, wie man die Verbindung bestätigt.


Zum japanischen Original: Und am Montag, wenn der Markt beginnt, wird ein Fehler im Projekt gefunden. Daher empfehlen wir Ihnen dringend, die Verbindung zu bestätigen und/oder die Verbindung zur Datenbank in kürzeren Abständen als dem in der Serverkonfiguration angegebenen Timeout erneut herzustellen.

Das bedeutet, dass Sie am Montag einen Fehler in Ihrem Projekt feststellen werden. Ich empfehle Ihnen daher, die Verbindung in einem Zeitintervall zu bestätigen, das kürzer ist als der Timeout der Servereinstellungen. Intervall zu bestätigen, das kürzer ist als die Timeout-Einstellungen des Servers.


Ich danke Ihnen.

 

Hallo,...

Ich habe den Code für die Zeit, wie unten geschrieben. 1.

Erstellen Sie eine Tabelle, die einen Zeitdatensatz hat, wenn Sie die Verbindung bestätigen. 2.

Erstellen Sie eine Tabelle, die einen Zeitdatensatz hat, wenn Sie die Verbindung bestätigen. 2.

Wenn das UpSert fehlschlägt, versuchen Sie eine erneute Synchronisierung mit MySQL.

Bitte sagen Sie mir, ob es Methoden gibt, um die Verbindung zu bestätigen.

Bitte sagen Sie mir, ob es Methoden gibt, um die Verbindung zu bestätigen.

//+------------------------------------------------------------------+
//| MySQL-Verbindung prüfen und neu verbinden &nbsp ; & nbsp; |
//+------------------------------------------------------------------+
bool DBAccess::resync(void)
{
    string  qry = "";

    string  update_time = (string)TimeCurrent();

    qry += "INSERT INTO `" + sync_table + "` (id, update_time) ";
    qry += "VALUES (\'sync\', \'" + update_time + "\') ";
    qry += "ON DUPLICATE KEY UPDATE update_time = \'" + update_time + "\';";
    
    if (MySqlExecute(DBID, qry))    { return true; }
    
    echo("[Try] Database has been disconnected. EA will try resynchronization.");

    bool    sync        = syncDB();
    
    if(!sync)   { return false; }

    return true;
}
for the time beingの意味・使い方 - 英和辞典 Weblio辞書
  • ejje.weblio.jp
for the time beingの意味や使い方 当分の間, さしあたり, 目下. - 約1037万語ある英和辞典・和英辞典。発音・イディオムも分かる英語辞書。
 
Gibt es hier jemanden, der einen Wrapper von MQL5 zu MS SQL schreiben kann, und auch an einem Wrapper für VOLTDB interessiert ist.
 

Ich möchte fragen, ich habe nicht die Datenbank-Operation zu trennen, aber die Datenbank ist nur am Anfang, um Daten zu verbinden normale Daten im Laufe der Zeit, kann nicht direkt lesen Sie die Datenbank-Informationen, aber es gibt keine Fehlermeldung

Ich benutze MT4

Dateien:
20180412.log  2067 kb
 
cikahun:

Hallo Alain,

vielen Dank! Ich konnte herausfinden, was falsch war.

In meinem Fall gibt der Broker mir das Währungssymbol mit einem £-Zeichen. Ich habe es gelöscht und es funktioniert.

Nochmals vielen Dank.

Ich stoße auch auf diesen Fehler, da mein Broker auch Symbole mit (£) anhängt. Weiß jemand, warum dies ein Problem verursacht und was die Lösung ist? Der SQL-String funktioniert gut, wenn er in MYSQL Workbench eingegeben wird, aber ich erhalte die Meldung "Query was empty", wenn ich die Abfrage über diese Bibliothek ausführe.
 
Eugeniy Lugovoy:

Vielen Dank für Ihre Zeit beim Lesen dieses Artikels. Ich habe auch überprüft, Ihre(https://www.mql5.com/de/code/11114), Ich habe solche Lösung vor langer Zeit gefunden (vor MT4 build 600) und ich mochte die Idee zu machen, MQL und MySQL freundlich. Aber nur eine Sache, die ich nicht verwenden möchte, ist Arrays, um die Daten aus der Datenbank zu erhalten. Das ist, warum ich diese Lösung für die Verwendung mit MT4 und MT5 gebaut habe.

Außerdem habe ich vergessen, das x64-basierte Projekt dem Artikel hinzuzufügen, also können Sie es hier herunterladen, in der Diskussion. An den Quellen wurde nichts geändert, nur die DLL wurde für x64 neu kompiliert.

Viel Glück!

Eugene

Hallo Eugeniy Lugovoy, danke für Ihren Artikel, ich habe x32-basierte Projekt in meinem (64bit Windows mit mql5) und ich hatte diesen Fehler :

2018.06.04 17:58:52.879 MySQL-001 (XAUUSD,H1) Cannot load '..\libraries\MQLMySQL.dll' [126]

und jetzt versuche ich, Ihr x64-basiertes Projekt zu verwenden, das Sie in diesem Forum hochgeladen haben, aber ich habe immer noch den oben genannten Fehler.

Ich habe versucht, eines der Skripte auf 2 Arten auszuführen,

erstens habe ich dll-Dateien in diese Adresse gelegt: ...\MQL5\Libraries

Zweitens habe ich sie unter dieser Adresse abgelegt: C:\Windows\SysWOW64

aber keine von beiden hat funktioniert.

 

HalloEugeniy Lugovoy


Ich bekomme den folgenden Fehler nicht sicher, was los ist!


Der Fehler tritt in der Datei MQLMySQL.mqh auf

'StrToInteger' - Funktion nicht definiert MQLMySQL.mqh 224 10


'StrToDouble' - Funktion nicht definiert MQLMySQL.mqh 229 10

in den folgenden Codezeilen:



int MySqlGetFieldAsInt(int pCursorID, int pField)

{

return (StrToInteger(MySqlGetRowField(pCursorID, pField)));

}


double MySqlGetFieldAsDouble(int pCursorID, int pField)

{

return (StrToDouble(MySqlGetRowField(pCursorID, pField)));

}


Mit freundlichen Grüßen,



 
MetaQuotes Software Corp.:

Der neue Artikel How to Access the MySQL Database from MQL5 (MQL4) wurde veröffentlicht:

Autor: Eugeniy Lugovoy

Hallo Eugeniy Lugovoy,

zunächst einmal vielen Dank, dass Sie sich die Zeit genommen haben, dieses Projekt zu erstellen.

Ich suche schon seit Wochen nach einer Möglichkeit, alle offenen/geschlossenen Trades eines Handelskontos in eine MySQL-Tabelle zu importieren/aktualisieren, wenn möglich in Echtzeit. Gibt es eine Möglichkeit, dies mit Ihrer Bibliothek zu tun?

Vielen Dank im Voraus.

Dragos

 

win2008 oder win10 X64

Log ausführen


2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) Cannot load 'C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\ 67381DD86A2959850232C0BA725E5966\MQL5\libraries\MQLMySQL.dll' [193]

2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) Cannot call 'ReadIni', '... \libraries\MQLMySQL.dll' ist nicht geladen

2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) nicht aufgelöster Importfunktionsaufruf



SomeBody Hilfe

 
Eugeniy Lugovoy:
Für x64-Plattformen, verwenden Sie die folgenden Bibliotheken (mit Diskussion)

win2018R2 oder win10 X86


2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) Cannot load 'C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\ 67381DD86A2959850232C0BA725E5966\MQL5\libraries\MQLMySQL.dll' [193]
2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) Cannot call 'ReadIni', '... \libraries\MQLMySQL.dll' ist nicht geladen
2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) nicht aufgelöster Importfunktionsaufruf


????