Diskussion zum Artikel "Wie man auf die MySQL-Datenbank von MQL5 (MQL4) aus zugreift" - Seite 13
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
win 7 x64 - mt5 x64 neueste Version (v5 b1455)
Ich kann nicht auf MySQL zugreifen, aber das ist nicht schade.
Server: Localhost über UNIX-Socket
Servertyp: Percona-Server
Server Version: 5.5.35-33.0-log - Percona Server (GPL), Release rel33.0, Revision 611
Protokoll Version: 10
Benutzer: ***
Server-Kodierung: UTF-8 Unicode (utf8)
Hier ist die neu kompilierte x64 für MQL5
Pavel probiere es aus.
keine Probleme mehr mit der Verbindung von dlls
alles funktioniert, danke
keine Probleme mehr mit der Verbindung von dlls
alles funktioniert, danke
Ich helfe immer gerne.
Viel Glück mit Ihren Projekten.
Danke, ich habe es gelesen. Es gibt einen sehr guten Punkt, den der Autor des aktuellen Artikels, der hereinkam, ..... und alles ruiniert hat.)
Ich selbst bin schon mehr als einmal auf das Problem der Kollisionen gestoßen. Wenn zum Beispiel ein Handelsroboter an verschiedene Charts angehängt ist, aber eine Basis verwendet, und der Zugriff auf eine Allzwecktabelle erfolgt (z. B. Registrierung/Änderung von Sitzungen, Konten), dann erhält man in jedem Fall eine Fehlermeldung wie "Tabelle gesperrt". Dabei spielt es keine Rolle, dass alle Transaktionen abgeschlossen sind, Cursor geschlossen sind und die Datenbank im gemeinsamen Modus geöffnet wurde.
Der Kommentator hat wahrscheinlich die sqlite-Einstellungen nicht verstanden, die alle Kollisionen durch Kompilierung für den Modus mit Sperren oder durch pragma auflösen.
Ich kann sagen, dass ich seit mehreren Jahren an umfangreichen Projekten mit gleichzeitigem Lese-/Schreib-Multithreading arbeite und es keine Probleme gibt, die Hauptsache ist, dass man die Hände frei hat.
Der Kommentator hat wahrscheinlich die Sqlite-Einstellungen nicht verstanden, die alle Kollisionen durch Kompilierung für den Modus mit Sperren oder durch pragma auflösen.
Ich kann sagen, dass ich seit mehreren Jahren an umfangreichen Projekten mit gleichzeitigem Lese-/Schreib-Multithreading arbeite und es keine Probleme gibt, die Hauptsache ist, dass man gerade Hände hat.
o_O
Wenn es etwas gibt, kann ich das Projekt für SQLite übernehmen, Testskripte/EA schreiben und wenn es wieder zu Sperren kommt, können wir das gemeinsam herausfinden (wenn es Ihnen nichts ausmacht) und der Community eine Softwarelösung anbieten.
Es könnte sich lohnen, dem Aufmerksamkeit zu schenken, da es einige Vorteile einer DB gibt (Autonomie, SQL, Mobilität, Einbettbarkeit, etc.).
Tatsächlich habe ich eine fertige DLL von SQLite genommen (nicht den Quellcode) und sie nicht neu kompiliert, sondern nur mit der C++-API gearbeitet.
o_O
Wenn es etwas gibt, kann ich das Projekt für SQLite übernehmen, Testskripte/EA schreiben und wenn es wieder Sperren gibt, können wir das gemeinsam herausfinden (wenn es Ihnen nichts ausmacht) und der Gemeinschaft eine Softwarelösung anbieten.
Es könnte sich lohnen, dem Aufmerksamkeit zu schenken, da es einige Vorteile einer DB gibt (Autonomie, SQL, Mobilität, Einbettbarkeit usw.).
In der Tat habe ich eine fertige DLL von SQLite genommen (nicht den Quellcode) und sie nicht neu kompiliert, sondern nur mit der C++-API gearbeitet.
Es wäre wirklich interessant, wenn der "Mythos" des SQLite-Sperrens bestätigt oder widerlegt werden könnte. Ohne diese Ungewissheit oder Lösungen, um sie zu beseitigen, ist SQlite eine sehr attraktive Option für die Interoperabilität. Es wäre auch interessant, etwas über seine Leistung zu erfahren, z. B. im Vergleich zur gleichen Datenbank mit Access. Natürlich nur, wenn jemand wirklich Zeit und Lust hat, eine solche Arbeit zu machen.
Bleibt noch die Frage nach der Anbindung der Basis an Software von Drittanbietern, die mit jeder beliebigen Datenbank verbunden werden kann - Access, SQL Server, Oracle und so weiter. Verfügt SQLite über einen auf dem Computer installierten Treiber wie OLEDB oder zumindest ODBC? Und in ein und demselben Access können mehrere Anwendungen ohne Probleme asynchron über verschiedene Schnittstellen in dieselbe Datenbank schreiben und lesen. Ich vermute, dass dies bei SQLite nicht möglich ist.
Es wäre wirklich interessant, wenn der "Mythos" des SQLite-Sperrens bestätigt oder ausgeräumt würde. Ohne diese Unsicherheit oder Lösungen zu ihrer Beseitigung ist SQlite eine sehr attraktive Option für die Interoperabilität. Es wäre auch interessant, etwas über seine Leistung zu erfahren, z. B. im Vergleich zur gleichen Datenbank mit Access. Natürlich nur, wenn jemand wirklich Zeit und Lust hat, eine solche Arbeit zu machen.
Bleibt noch die Frage nach der Anbindung der Basis an Software von Drittanbietern, die mit jeder beliebigen Datenbank verbunden werden kann - Access, SQL Server, Oracle und so weiter. Verfügt SQLite über einen auf dem Computer installierten Treiber wie OLEDB oder zumindest ODBC? Und in ein und demselben Access können mehrere Anwendungen ohne Probleme asynchron über verschiedene Schnittstellen in dieselbe Datenbank schreiben und lesen. Ich vermute, dass dies mit SQLite nicht funktioniert.
Nun, OLEDB für SQLite ist verfügbar, googeln Sie einfach danach. Übrigens, eine interessante Idee, Testskripte über OLEDB zu SQLite.... laufen zu lassen natürlich pervers, aber wir sind hier alle pervers....
Und was den nativen Zugriff angeht, so glaube ich, dass wir durch gemeinsame Anstrengungen ein positives Ergebnis erzielen können. Es ist nur eine Frage der Zeit, ich werde es diese Woche nicht mehr schaffen... vielleicht nehme ich mir am Wochenende etwas Zeit...
Nun, OLEDB für SQLite ist verfügbar, googeln Sie einfach danach. Übrigens, interessante Idee, Testskripte über loc via OLEDB zu SQLite.... laufen zu lassen natürlich pervers, aber wir sind hier alle pervers....
Und was den nativen Zugriff angeht, so glaube ich, dass wir durch gemeinsame Anstrengungen ein positives Ergebnis erzielen können. Es ist nur eine Frage der Zeit, ich werde es diese Woche nicht mehr schaffen... vielleicht werde ich mir am Wochenende Zeit nehmen...
Ich habe eine Anwendung, die eine Datenbank erstellt und in diese große Mengen an Informationen in vielen Tabellen schreibt (nicht liest). Wenn ich einen OLEDB-Treiber finde, der auf dem Computer installiert und in den Anwendungseinstellungen sichtbar ist, kann SQLite leicht getestet werden, ohne dass es zu Hängern kommt. In ähnlicher Weise können Sie eine Verbindung zu SQLite mit demselben Access herstellen und versuchen, Tabellen parallel zu lesen und zu ändern. Etwas zu messen, natürlich, wird nicht möglich sein.
Ich habe mich im Internet umgesehen. Konnte auf Anhieb keinen solchen OLEDB-Provider finden. Alles weitere sind OLEDB DLLs, die nur von Programmiersprachen genutzt werden können, soweit ich das verstehe.
immer wieder auftauchen, was bedeutet das?
Wenn ich meinen Code in dieser Zeile ausführe.
if(DB==-1){DB=MySqlConnect(Host, User, Password, Database, Port, Socket, ClientFlag);}
res = MySqlCursorOpen(DB, "SELECT id, account, symbol FROM `current` WHERE account="+account);