Discussão do artigo "SQLite: trabalho nativo com bancos de dados SQL em MQL5" - página 10
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
Obrigado, vamos dar uma olhada.
Da mesma forma!
Você também deve verificar ON DELETE e ON UPDATE:
Sem isso, o trabalho se torna muito complicado.
Obrigado pela resposta!
Por algum motivo, não estou obtendo o resultado esperado:
//---
Onde está o erro?
E isso é algo com que eu também gostaria de lidar:
Nosso erro foi construir sem SQLITE_DEFAULT_FOREIGN_KEYS.
Já foi corrigido e está funcionando - estará disponível na versão beta hoje à noite. A tabela com FOREIGN KEYS precisará ser recriada para o exemplo acima.
Mais tarde, daremos uma olhada nos comandos do painel.
Nosso erro foi criar sem o SQLITE_DEFAULT_FOREIGN_KEYS.
Isso já foi corrigido e está funcionando - estará disponível na versão beta hoje à noite. A tabela com FOREIGN KEYS precisará ser recriada para o exemplo acima.
Veremos os comandos no painel mais tarde.
Obrigado! Com certeza vou testá-lo.
Hi,
Algo parece não estar certo.
Criei um banco de dados "signals.sqlite" e recebi a confirmação de que ele existe. Salvei os dados no banco de dados e recebi a confirmação de que 63 registros foram salvos. Infelizmente, não consigo ler nada do banco de dados e, quando verifico o banco de dados, não consigo encontrar o arquivo "signals.sqlite". No entanto, encontro o diretório em XM MT5/Bases/signals e, nesse diretório, o arquivo "signals.dat", que é ilegível para mim e tem um tamanho de 3845 kb.
A pergunta é: onde posso encontrar o arquivo "signals.sqlite" e, se não encontrar, como posso editá-lo?
Eu uso o XM MT5 build 3521
O arquivo geralmente é armazenado em "<data folder>\MQL5\Files", a menos que você tenha usado o sinalizador DATABASE_OPEN_COMMON.
O "signals.dat" não tem nada a ver com o SQLite.
O arquivo geralmente é armazenado em "<pasta de dados>\MQL5\Files", a menos que você tenha usado o sinalizador DATABASE_OPEN_COMMON.
O "signals.dat" não tem nada a ver com o SQLite.
Olá, Fernando, obrigado pela resposta
Eu esperava isso, porque está na descrição, mas infelizmente o diretório de arquivos está vazio e eu criei o banco de dados com esse comando:
filename="signals.sqlite"
int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON);
Por exemplo, com o sinalizador DATABASE_OPEN_COMMON
DATABASE_OPEN_COMMON
O arquivo está na pasta comum de todos os terminais
como interpretar ii?@Zbigniew Mirowski #: I expected it, because it is in the description, but unfortunately the files directory is empty and I created the database with this command:
filename="signals.sqlite"
int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON);
Por exemplo, com o sinalizador DATABASE_OPEN_COMMON
DATABASE_OPEN_COMMON
O arquivo está na pasta comum de todos os terminais
como interpretar ii?
Em seguida, você o encontrará em"%APPDATA%\MetaQuotes\Terminal\Common\Files".
Bem, agora tenho um novo problema. Cheguei à conclusão de que talvez o erro esteja no fato de eu ter instalado esse MT5 na unidade C, em Arquivos de programas, e talvez haja algumas restrições de acesso no novo Win11. Então, instalei uma nova instância em outro disco, uma nova conta demo e tentei instalar esse banco de dados lá e... Recebi:
2022.11.30 10:37:26.036 CreateDB (EURUSD,H1) database error, table Signals already exists.
Ao criar um banco de dados, eu imediatamente crio tabelas. O Create não gera um erro, porque também está abrindo o banco de dados, mas a criação de uma tabela gera um erro.
Procurei em todo o computador e os arquivos "signals.sqlite" não foram encontrados, mas encontrei o arquivo "signals.dat" novamente
Uau, encontrei o arquivo "signals.sqlite"
C:\Users\name\AppData\Roaming\MetaQuotes\Terminal\Common\Files
Há apenas estrutura no arquivo "signals.sqlite" e suspeito que haja dados no arquivo signals.dat
C:\Users\name\AppData\Roaming\MetaQuotes\Terminal\Common\Files
Mas não é exatamente onde eu disse que você o encontraria?