Discussão do artigo "Como acessar o banco de dados MySQL a partir do MQL5 (MQL4)" - página 24
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
E quanto ao suporte a caching_sha2_password? Existe alguma maneira de lidar com isso ou apenas instalar o mysql_native_password?
Hy, até o momento, só há suporte para o nativo. Alguém realmente precisa de suporte para sha2 nessa solução?
Então seu servidor de banco de dados não está localizado localmente ou mesmo sob VPN?
Olá @EugeniyLugovoy e obrigado por seu trabalho árduo!
Na versão atual da sua implementação, existe uma maneira de recuperar o "LAST_INSERT_ID" após uma operação INSERT (em uma tabela com uma coluna AUTO_INCREMENT)?
Desde já, obrigado e tenha um bom dia :)Olá @EugeniyLugovoy e obrigado por seu trabalho árduo!
Na versão atual da sua implementação, existe uma maneira de recuperar o "LAST_INSERT_ID" após uma operação INSERT (em uma tabela com uma coluna AUTO_INCREMENT)?
Desde já, obrigado e tenha um bom dia :)Olá arsenico42, você pode tentar fazer a inserção em uma consulta e, em seguida, selecionar LAST_INSERT_ID em outra, mas não posso recomendar essa maneira, pois LAST_INSERT_ID é uma função que retorna uma variável global do banco de dados, e outra inserção (de outro usuário, executada simultaneamente) entre a inserção original e a seleção de LAST_INSERT_ID pode afetar o valor de LAST_INSERT_ID.
Isso não depende da biblioteca, é como o mysql/mariadb funciona.
Mas posso aconselhá-lo a criar uma função no banco de dados para inserir os valores necessários, selecionar LAST_INSERT_ID e retornar esse ID como valor da função:
E no MQL você precisa abrir o cursor para a consulta:
qry="SELECT import_funds_add('bonuses.csv','c:\\broker imports\\XXX-FX','NEW','No errors') as last_id";em seguida, obter o valor do cursor usual e fechar o cursor.
Portanto, em vez de usar esses comandos separadamente no MQL, você pode simplesmente combiná-los no lado do banco de dados em uma função.
Esse é apenas um exemplo de um sistema ativo.
Olá elugovoy
Artigo incrível e ótimas bibliotecas.
Estou tentando usar seus exemplos no MT5, mas estou recebendo este erro:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' não é uma versão de 64 bits
Você está executando o MT5 em um ambiente de 32 bits?
Poderia me ajudar com isso, por favor?
Muito obrigado!
Carmine Marrone.
Olá Carmine, você pode fazer download da versão x64 a partir das fontes no github.
https://github.com/elugovoy/MQLMySQL-Project/tree/master/MQLMySQL/x64/Release
Olá @Eugeniy Lugovoy, antes de mais nada, obrigado por toda a contribuição para a comunidade
Estou preso aqui:
"Cannot load 'C:\Users\Admin\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\libraries\MQLMySQL.dll'" [126]
Olá @Eugeniy Lugovoy, antes de mais nada, obrigado por toda a contribuição para a comunidade
Estou preso aqui:
"Cannot load 'C:\Users\Admin\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\libraries\MQLMySQL.dll'" [126]
Verifique se você tem os arquivos MQLMySQL.dll e MQLMySQL.def localizados na pasta "C:\Users\Admin\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\libraries\"
Como você pode ver, se estiver executando programas MQL no modo Tester, o caminho para as bibliotecas será diferente (devido ao UAC)
multi-insert obtém erro.
Erro de várias instruções: Você tem um erro na sintaxe SQL; verifique o manual que corresponde à sua versão do servidor MySQL para saber a sintaxe correta a ser usada perto de ...
A inserção múltipla obtém um erro.
Erro de várias instruções: Você tem um erro na sintaxe SQL; verifique o manual que corresponde à sua versão do servidor MySQL para saber a sintaxe correta a ser usada perto de ...
Certifique-se de ter definido o sinalizador de cliente de várias instruções na abertura da conexão com o banco de dados.