Discussione sull’articolo "Come accedere al database MySQL da MQL5 (MQL4)" - pagina 17
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
È molto utile.
Ma c'è un problema quando inserisco una parola cinese in mysql usando cmd come questo "INSERT INTO table (name,value) VALUES ('Buy Order','Sell Order');", restituisce &# nbsp;una descrizione di errore "Query is empty". nbsp;una descrizione di errore "La query è vuota".
Come risolvere questo problema.
Come risolvere questo problema.
Colleghi, per favore duplicate le release attuali,
Personalmente ho bisogno di una build per MQL5 x64, ma non riesco a scaricarla utilizzando i link del thread - 404
Ciao, perché ho ricevuto questo messaggio? Come risolverlo?
Connessione fallita! Errore: Impossibile connettersi al server MySQL su 'mysql.hostinger.co.id' (10061) <~~~ prima era 10060, non so perché sta cambiando in questo messaggio
Qualcuno può aiutarmi a risolvere il problema? Ho già provato a cercare su Google ma mi sono scontrato con un muro.
Grazie
Salve,
Ho una domanda. Vorrei registrare gli scambi in una tabella MySQL ma ricevo sempre un messaggio di errore che la query è vuota.
Quando stampo l'errore e la query, c'è:
Errore #1065: La query era vuota; 3
Query: INSERT INTO algo_trades (date, time, curr, ticket, error, trade, lot, entry, sl, tp, spread) VALUES ('2017-9-1','14:3:58','GBPUSD',8705334,0,'Sell',2,1.29892,1.29961,1.29812,0.9)
Cosa c'è di sbagliato? Sto usando questa libreria in un altro codice nello stesso modo, e funziona assolutamente bene.
Grazie mille Eugeniy per averla condivisa.
Salve,
Ho una domanda. Vorrei registrare gli scambi in una tabella MySQL ma ricevo sempre un messaggio di errore che la query è vuota.
Quando stampo l'errore e la query, c'è:
Errore #1065: La query era vuota; 3
Query: INSERT INTO algo_trades (date, time, curr, ticket, error, trade, lot, entry, sl, tp, spread) VALUES ('2017-9-1','14:3:58','GBPUSD',8705334,0,'Sell',2,1.29892,1.29961,1.29812,0.9)
Cosa c'è di sbagliato? Sto usando questa libreria in un altro codice nello stesso modo, e funziona assolutamente bene.
Grazie mille Eugeniy per averlo condiviso.
Probabilmente è più veloce usare Google.
http://www.joellipman.com/articles/sql/error-1065-query-was-empty.html
Probabilmente è più veloce usare Google.
http://www.joellipman.com/articles/sql/error-1065-query-was-empty.html
Ciao Alain,
Grazie mille! Sono riuscito a capire cosa non andava.
Nel mio caso il broker mi dà il simbolo della valuta con il segno £. L'ho cancellato e funziona.
Grazie ancora.
Ho usato la dll di attechtment per eseguire EA, ma non ha funzionato e il log mostrava
"Impossibile caricare 'C:\Users\cc\AppData\Roaming\MetaQuotes\Tester\67381DD86A2959850232C0BA725E5966\Agent-127.0.0.1-3000\MQL5\libraries\' [193] Impossibile chiamare 'cMySqlVersion' [193] Ho usato la dll di attechtment per eseguire EA ma non ha funzionato e il log ha mostrato MQLMySQL.dll' [193]
Impossibile chiamare 'cMySqlVersion', '... \libraries\MQLMySQL.dll' non è caricato
chiamata di funzione di importazione non risolta".
Sto usando mt5 x64
ed ecco il mio codice.
#include <MQLMySQL.mqh>
//--- parametri di input
string INI;
string Host, User, Password, Database, Socket; // credenziali del database
int Port, ClientFlag; int ClientFlag;
int DB; // identificatore del database
//+------------------------------------------------------------------+
//| Inizializzazione dell'esperto funzione & nbsp; |
//+------------------------------------------- -----------------------+
int OnInit()
{
Print (MySqlVersion());
INI = TerminalInfoString(TERMINAL_PATH) + "\\\\ MQL5\Scripts\MyConnection.ini";
// lettura delle credenziali del database dal file INI
Host = ReadIni(INI, "MYSQL", "Host");
User = ReadIni(INI, "MYSQL", "User");
Password = ReadIni(INI, "MYSQL", "Password");
Database = ReadIni(INI, "MYSQL", "Database");
Port = (int)StringToInteger(ReadIni(INI, "MYSQL", "Port"));
Socket = ReadIni(INI, "MYSQL", " Socket");
ClientFlag = CLIENT_MULTI_STATEMENTS; //(int)StringToInteger(ReadIni(INI, "MYSQL", "ClientFlag"));
Print (" Host: ",Host, ", User: ", User, ", Database: ", Database);
// aprire la connessione al database
Print ("Connecting...") ;
DB = MySqlConnect(Host, User, Password, Database, Port, Socket, ClientFlag);
if (DB == -1)
Print (" Connessione fallita!Errore: "+MySqlErrorDescription);
else Print ("Connected!DBID#",DB);
return 1;
}
//+-------------------- ----------------------------------------------+
//| Funzione di deinizializzazione esperta & nbsp;   ; |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
  ; MySqlDisconnect(DB);
}
//+--------------------------------------------------------------- ---+
//| Funzione di spunta esperta & nbsp;   ||
//+------------------------------------------------------------------+
void OnTick()
{
//---
} ------------------------------------------------------------------ //+ ---+ nbsp;
}
//+------------------------------------------------------------------+
il file dll della versione X64 non può essere caricato.
Query = Query + "INSERT INTO `history` (an, oi, oc) VALUES (" + (stringa) AccountNumber() + ", " + (stringa) OrderTicket() + ", '" + (stringa) OrderComment() + ");";
Cosa sbaglio? Funziona solo con l'inserimento singolo.
Hmmm... è da qualche parte nella vecchia libreria, nelle ultime versioni (postate nella discussione) ho le regole se la memoria non mi inganna :)
Ok, allora il problema UTF rimane. Cercherò di risolverlo questa settimana fino al fine settimana, se non sono oberato di lavoro.
Buon pomeriggio Eugene.
Grazie mille per questa libreria, la uso attivamente nel mio progetto.
Potresti dirmi se sei riuscito a risolvere il problema con UTF? E come posso scaricare la versione attuale?
Ho bisogno della build MQL4 x32-x64. Grazie ancora. )