DatabaseOpen

Abre ou cria um banco de dados no arquivo especificado.

int  DatabaseOpen(
   string  filename,      // nome do arquivo
   uint    flags,         // combinação de sinalizadores
   );

Parâmetros

filename

[in] Nome do arquivo relativo à pasta "MQL5\Files".

flags

[in]  Combinação de sinalizadores da enumeração ENUM_DATABASE_OPEN_FLAGS.

Valor retornado

Se for bem-sucedida, a função retorna o identificador do banco de dados, que é usado para acessar os dados do banco de dados, caso contrário, retorna INVALID_HANDLE. Para obter o código de erro, use GetLastError(), possíveis respostas:

  • ERR_INTERNAL_ERROR (4001)                       — erro crítico de tempo de execução do sistema;
  • ERR_WRONG_INTERNAL_PARAMETER (4002)  - erro interno ao acessar a pasta "MQL5\Files";
  • ERR_INVALID_PARAMETER (4003)                  — caminho para o arquivo de banco de dados contendo uma string vazia ou definida uma combinação incompatível de sinalizadores;
  • ERR_NOT_ENOUGH_MEMORY (4004)              - memória insuficiente;
  • ERR_WRONG_FILENAME (5002)                     - nome de arquivo de banco de dados inválido;
  • ERR_TOO_LONG_FILENAME (5003)                 - caminho absoluto para o arquivo de banco de dados excedendo o tamanho máximo;
  • ERR_DATABASE_TOO_MANY_OBJECTS (5122) - excedido número máximo de objetos Database;
  • ERR_DATABASE_CONNECT (5123)                  - erro de conexão ao banco de dados;
  • ERR_DATABASE_MISUSE (5621)                      - uso incorreto da biblioteca SQLite.

Geral

Se no parâmetro filename estiver especificado NULL ou uma string vazia "", no disco será criado um arquivo temporário, que será excluído automaticamente após encerrada a conexão com o banco de dados.

Se no parâmetro filename estiver especificadoн ":memory:", o banco de dados será criado na memória e o banco de dados será excluído automaticamente após encerrada a conexão.

Se no parâmetro flags não estiver especificado nenhum do sinalizadores DATABASE_OPEN_READONLY ou DATABASE_OPEN_READWRITE, será usado o sinalizador DATABASE_OPEN_READWRITE.

Se não estiver especificada a extensão do arquivo, será usada a extensão ".sqlite"

ENUM_DATABASE_OPEN_FLAGS

Identificador

Descrição

DATABASE_OPEN_READONLY

Abrir somente leitura

DATABASE_OPEN_READWRITE

Abrir para leitura e escrita

DATABASE_OPEN_CREATE

Criar um arquivo no disco se ele não existir

DATABASE_OPEN_MEMORY

Criar um banco de dados na RAM

DATABASE_OPEN_COMMON

O arquivo está localizado na pasta compartilhada dos terminais

Veja também

DatabaseClose