Collegare MySQL a MQ4

 

Salve, cari esperti!

Quando scrivo un Expert Advisor, mi manca davvero la possibilità di accedere al database!

Per favore, ditemi come connettermi al database.

Dato che ho già familiarità con MySQL, è meglio usarlo.

 
 
Eugene1:

Salve, cari esperti!
Mi manca davvero la possibilità di accedere al database quando si scrive un Expert Advisor!
Si prega di consigliare come connettersi al database.
Dato che ho già familiarità con MySQL, è meglio usarlo.


Sfortunatamente, si possono aggiungere dati al database solo usando MQL.

Ma per leggere da esso - solo con l'aiuto della vostra DLL.

 

È anche possibile leggere usando la DLL standard di MySQL.

Ci sono diverse complicazioni, ma tutte sono risolvibili.

 
HIDDEN:

È anche possibile leggere usando la DLL standard di MySQL.

Ci sono diverse complicazioni, ma tutte sono risolvibili.


Come si risolve?
ho visto il tuo thread https://www.mql5.com/ru/forum/129879
 

In realtà MKL4 funziona normalmente con muscle (riceve e invia dati) tramite libmySQL.dll. Non c'è nessun problema con MKL4, ma con MKL5 c'è un grosso problema a causa dell'Unicode. Nel database le informazioni sono normalmente inviate, ma i geroglifici restituiti (se si sfoglia il database in altri programmi, tutti visualizzati normalmente). A questo punto ho dovuto scrivere un convertitore dll per MKL5.

//----------------------------------------------------------+
function a2u(var s:pansichar):PWideChar; stdcall;
//----------------------------------------------------------+
var
  w: WideString;
begin
  w := s;
  Result := PWideChar(w);
end;

Il codice è in Delphi. Il muscolo sta lavorando con MT5 in modo tale. Voglio sbarazzarmi di questa dll, apprezzerei se qualcuno mi dicesse come fare.

Ho una classe per lavorare con SQLite da MT5, c'è una proposta di scrivere una classe simile per il muscolo.

Un'altra cosa divertente di muscle è che libmySQL.dll ha errori costanti che causano il blocco del terminale o l'arresto del programma. Consiglio vivamente di passare a MariaDB. È completamente compatibile con il muscolo e funziona molto più stabile, per 2 settimane non è ancora spuntato nessun errore.

 
Graff:

Infatti, MKL4 funziona normalmente con muscle (riceve e invia dati) tramite libmySQL.dll. Non ci sono problemi con MKL4

come si ottengono i dati dal puntatore alla struttura restituita?
 
sergeev:
come si ottengono i dati dal puntatore alla struttura restituita?


Se potete aiutare a scrivere un convertitore da ansi a unicode per MKL5, il cui codice è riportato nel post precedente. Vi manderò il codice funzionante per MKL4, inoltre vi aiuterà quando scriverete la classe per MKL5.
 
Graff:

il convertitore da ansi a unicode per MKL5, il cui codice è riportato nel post precedente.

in delphi non così tanto. ho bisogno di vedere il problema, come in MQL può essere risolto in modi diversi. o tramite array uchar o CharToString ecc.

 
sergeev:

Ho bisogno di vedere il problema, perché in MQL può essere risolto in diversi modi. o tramite array uchar o CharToString ecc.


Aggiungimi su Skype o ICQ (contatti nel mio profilo sul sito MKL5). Ti manderò tutto il codice sorgente per MKL4 e MKL5 in una volta sola, ma ho bisogno di aiuto per la conversione delle stringhe.
 
Graff:

Aggiungimi su Skype o ICQ (contatti nel mio profilo sul sito MKL5). Vi manderò tutto il codice sorgente per MKL4 e MKL5 in una volta sola, ma ho bisogno di aiuto per la conversione delle linee.

Meglio in un messaggio privato.