Discussão do artigo "Como acessar o banco de dados MySQL a partir do MQL5 (MQL4)" - página 17

 

É muito útil.

Mas há um problema quando insiro uma palavra em chinês no mysql usando um cmd como este "INSERT INTO table (name,value) VALUES ('Buy Order','Sell Order');", ele retorna &# nbsp;uma descrição de erro "Query is empty. nbsp;uma descrição de erro "A consulta está vazia".

Como resolver esse problema.

Como resolver esse problema.

 

Colegas, por favor, dupliquem a(s) versão(ões) atual(is),

Pessoalmente, preciso de uma compilação para MQL5 x64, mas não consigo fazer o download usando os links do tópico - 404

 
Khrisna Gunanasurya:

Olá, por que recebi essa mensagem? Como corrigi-la?

Falha na conexão! Error: Can't connect to MySQL server on 'mysql.hostinger.co.id' (10061) <~~~ antes era 10060, não sei por que está mudando para esse

Alguém pode me ajudar a resolver isso? Já tentei pesquisar no Google, mas não consegui.

Obrigado

Oi Khrisna, você conseguiu resolver o erro?
 

Hi,

Tenho uma pergunta. Gostaria de registrar a negociação na tabela MySQL, mas sempre recebo uma mensagem de erro informando que a consulta está vazia.

Quando imprimo o erro e a consulta, ela está lá:

Erro #1065: A consulta estava vazia; 3

Consulta: 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)

O que pode estar errado? Estou usando essa biblioteca em outro código da mesma forma, e funciona perfeitamente bem.

Muito obrigado, Eugeniy, por compartilhar isso.

 
cikahun:

Hi,

Tenho uma pergunta. Gostaria de registrar a negociação na tabela MySQL, mas sempre recebo uma mensagem de erro informando que a consulta está vazia.

Quando imprimo o erro e a consulta, ela está lá:

Erro #1065: A consulta estava vazia; 3

Consulta: 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)

O que pode estar errado? Estou usando essa biblioteca em outro código da mesma forma, e funciona perfeitamente bem.

Muito obrigado, Eugeniy, por compartilhar isso.

Provavelmente é mais rápido usar o Google.

http://www.joellipman.com/articles/sql/error-1065-query-was-empty.html

SQL
  • 2012.12.13
  • Joel Lipman
  • www.joellipman.com
Posted on Dec 13, 12 at 01:12 PM What? In view of the fact that this error pops up in so many systems I take over, I have often gone down the wrong path following the red herring as it were when in fact the answer to this is very common. Why? Bespoke systems are the usual suspects. Developers will have told the system what to do when...
 
Alain Verleyen:

Provavelmente é mais rápido usar o Google.

http://www.joellipman.com/articles/sql/error-1065-query-was-empty.html


Oi Alain,

Muito obrigado! Consegui descobrir o que estava errado.

No meu caso, o corretor me fornece o símbolo da moeda com um sinal de £. Eu o excluí e está funcionando.

Mais uma vez, obrigado.

 

Usei a dll attechtment para executar o EA, mas ela não funcionou e o registro mostrou

"Não é possível carregar 'C:\Users\ccb\AppData\Roaming\MetaQuotes\Tester\67381DD86A2959850232C0BA725E5966\Agent-127.0.0.1-3000\MQL5\libraries\' [193] Não é possível chamar 'cMySqlVersion' [193] Usei a dll attechtment para executar o EA, mas não funcionou e o log mostrou MQLMySQL.dll' [193]
Cannot call 'cMySqlVersion', '... \libraries\MQLMySQL.dll' não está carregado
chamada de função de importação não resolvida"

Estou usando o mt5 x64

e aqui está meu código.


#include <MQLMySQL.mqh>
//--- parâmetros de entrada
string INI;
string Host, User, Password, Database, Socket; // credenciais do banco de dados
int Port, ClientFlag; int ClientFlag;
int DB; // identificador do banco de dados
//+------------------------------------------------------------------+
//| Inicialização de especialista function & nbsp; |
//+------------------------------------------- -----------------------+
int OnInit()
{
Print (MySqlVersion());
INI = TerminalInfoString(TERMINAL_PATH) + "\\\\ MQL5\\Scripts\\\MyConnection.ini";
// leitura das credenciais do banco de dados do arquivo 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);

// abrir conexão com o banco de dados
Print ("Connecting...") ;

DB = MySqlConnect(Host, User, Password, Database, Port, Socket, ClientFlag);

if (DB == -1)
Print (" Falha na conexão!Error: "+MySqlErrorDescription);
else Print ("Connected!DBID#",DB);
return 1;
}
//+-------------------- ----------------------------------------------+
//| Função de desinicialização especializada & nbsp; &nbsp ; |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

&nbsp ; MySqlDisconnect(DB);


}
//+--------------------------------------------------------------- ---+
//| Função de tique de especialista & nbsp; &nbsp ; ||
//+------------------------------------------------------------------+
void OnTick()
{
//---
& nbsp;
}
//+------------------------------------------------------------------+

O arquivo dll da versão X64 não pode ser carregado.

 
Estou usandoa consulta de inserção múltipla, mas ela não funciona, mas quando uso a inserção única, ela funciona.

Query = Query + "INSERT INTO `history` (an, oi, oc) VALUES (" + (string) AccountNumber() + ", " + (string) OrderTicket() + ", '" + (string) OrderComment() + "');";


O que estou fazendo de errado? Funciona apenas com inserção única

 
Eugeniy Lugovoy:

Hmmm... está em algum lugar da biblioteca antiga, nas versões mais recentes (postadas na discussão) eu tenho as regras, se não me falha a memória :)

Ok, então o problema do UTF permanece. Tentarei resolvê-lo esta semana até o fim de semana, se não estiver sobrecarregado.

Boa tarde, Eugene.

Muito obrigado por essa biblioteca, eu a utilizo ativamente em meu projeto.

Você poderia me dizer se conseguiu resolver o problema com o UTF? E como posso fazer o download da versão atual?

Preciso da versão MQL4 x32-x64. Mais uma vez, obrigado. )

 
Você pode me ajudar a mudar o charset para UTF-8, muito obrigado