Diskussion zum Artikel "Wie man auf die MySQL-Datenbank von MQL5 (MQL4) aus zugreift" - Seite 24
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Was ist mit caching_sha2_password Unterstützung? Gibt es eine Möglichkeit, damit umzugehen oder einfach mysql_native_password zu installieren?
Hy wird bisher nur nativ unterstützt. Braucht jemand wirklich sha2 Unterstützung in dieser Lösung?
Ihr Datenbankserver befindet sich also nicht lokal oder sogar unter vpn?
Hallo @EugeniyLugovoy und vielen Dank für Ihre harte Arbeit!
Gibt es in der aktuellen Version Ihrer Implementierung eine Möglichkeit, die "LAST_INSERT_ID" nach einem INSERT-Vorgang (in einer Tabelle mit einer AUTO_INCREMENT-Spalte) abzurufen?
Vielen Dank im Voraus und noch einen schönen Tag :)Hallo @EugeniyLugovoy und vielen Dank für Ihre harte Arbeit!
Gibt es in der aktuellen Version Ihrer Implementierung eine Möglichkeit, die "LAST_INSERT_ID" nach einem INSERT-Vorgang (in einer Tabelle mit einer AUTO_INCREMENT-Spalte) abzurufen?
Vielen Dank im Voraus und noch einen schönen Tag :)Hallo arsenico42, Sie können versuchen, die Einfügung in einer Abfrage zu machen und dann LAST_INSERT_ID in einer anderen auszuwählen, aber ich kann diesen Weg nicht empfehlen, weil LAST_INSERT_ID eine Funktion ist, die eine globale Datenbankvariable zurückgibt, und eine andere Einfügung (von einem anderen Benutzer, die gleichzeitig läuft) zwischen Ihrer ursprünglichen Einfügung und der Auswahl von LAST_INSERT_ID den Wert von LAST_INSERT_ID beeinflussen kann.
Das hängt nicht von der Bibliothek ab, sondern davon, wie mysql/mariadb funktioniert.
Aber ich kann Ihnen raten, eine Funktion auf der Datenbankseite zu erstellen, um die erforderlichen Werte einzufügen, LAST_INSERT_ID auszuwählen und diese ID als Funktionswert zurückzugeben. es könnte so aussehen:
Und in MQL müssen Sie einen Cursor für die Abfrage öffnen:
qry="SELECT import_funds_add('bonuses.csv','c:\\broker imports\\XXX-FX','NEW','No errors') as last_id";dann den Wert aus dem üblichen Cursor holen und den Cursor schließen.
Anstatt diese Befehle separat in MQL zu verwenden, können Sie sie einfach auf der DB-Seite zu einer Funktion kombinieren.
Das ist nur ein Beispiel aus dem Live-System.
Hallo elugovoy
Toller Artikel und tolle Bibliotheken.
Ich versuche, Ihre Beispiele unter MT5 zu verwenden, aber ich bekomme diesen Fehler:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' ist keine 64-bit Version
Führen Sie MT5 unter einer 32-Bit-Umgebung aus?
Könnten Sie mir bitte dabei helfen?
Herzlichen Dank!
Carmine Marrone.
Hallo Carmine, Sie können die x64-Version aus den Quellen auf github herunterladen.
https://github.com/elugovoy/MQLMySQL-Project/tree/master/MQLMySQL/x64/Release
Hallo @Eugeniy Lugovoy, zunächst einmal vielen Dank für die vielen Beiträge zur Community
Ich stecke hier fest:
"Cannot load 'C:\Users\Admin\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\libraries\MQLMySQL.dll'" [126]
Hallo @Eugeniy Lugovoy, zunächst einmal vielen Dank für den Beitrag zur Gemeinschaft
Ich stecke hier fest:
"Cannot load 'C:\Users\Admin\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\libraries\MQLMySQL.dll'" [126]
Stellen Sie sicher, dass sich die Dateien MQLMySQL.dll & MQLMySQL.def in Ihrem Ordner "C:\Users\Admin\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\libraries\" befinden.
Wie Sie sehen können, wenn Sie MQL-Programme im Tester-Modus ausführen, wäre der Pfad zu den Bibliotheken anders (wegen der UAC)
Multi-Insert bekommt Fehler.
Fehler bei mehreren Anweisungen: Sie haben einen Fehler in Ihrer SQL-Syntax; lesen Sie im Handbuch zu Ihrer MySQL-Serverversion nach, um die richtige Syntax für die Verwendung bei ...
Multi-Insert erhalten Fehler.
Fehler bei mehreren Anweisungen: Sie haben einen Fehler in Ihrer SQL-Syntax; lesen Sie im Handbuch zu Ihrer MySQL-Serverversion nach, um die richtige Syntax für die Verwendung bei ...
Vergewissern Sie sich, dass Sie beim Öffnen der Datenbankverbindung das Multi-Statement-Client-Flag gesetzt haben.