Обсуждение статьи "SQLite: нативная работа с базами данных на SQL в MQL5" - страница 6

 
В какой папке вы ожидаете его найти? Посмотрите внимательно флаги открытия 
 
Rashid Umarov:
В какой папке вы ожидаете его найти? Посмотрите внимательно флаги открытия 

Флаги вот - int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON);

Ожидаю увидеть согласно справке в паке MQL5/Files

Но там нет ничего

 
Rashid Umarov:
В какой папке вы ожидаете его найти? Посмотрите внимательно флаги открытия 

Снял видео того, как я это делаю. Может что не так....



 
Tango_X:

Флаги вот - int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON);

Ожидаю увидеть согласно справке в паке MQL5/Files

Но там нет ничего

DATABASE_OPEN_COMMON не там где вы её ищите.


 
Alexey Viktorov:

DATABASE_OPEN_COMMON не там где вы её ищите.


спасибо!

 

Уважаемые разработчики, всем доброго дня!

Мне ОЧЕНЬ нравиться использование SQLite в МТ5, так как я проникся всеми плюсами данного нововведения, очень хочется дополнения....п.1 )))

1. Возможно добавить поддержку JSON функций внутри запросов, со стороны SQLite эта возможность реализована уже достаточно давно и я ей активно пользуюсь в других программах...,а хочется и в МТ5, так как:

1.1 Это очень удобно, разбор и сбор JSON работает из коробки очень быстро

1.2 Не нужно использовать сторонних библиотек для сборки и разборки ответов

1.3. Возможность сохранять данные пачками и обрабатывать на стороне базы по SQL запросу

1.4. Если ответ сервера изменился или ещё в ряде случае, достаточно изменить SQL запрос и не перекомпилировать программу и

это только часть плюсов...которых сейчас нет в текущей реализации для МТ5, предполагаю что к МТ5 подключена старая версия SQLite...

В целом это дает очень много возможностей для крупных проектов для их масштабирования в мультисерверных системах, где каждый поставщик данных имеет свои структуры и т.д..



2. Прочитал предыдущие сообщения по теме единовременного доступа как для записи так и для чтения из БД...

лично я рекомендую и использую: PRAGMA journal_mode = WAL; 

это решает много проблем с мультидоступом к БД и повышает серьезность SQLite...

2.1 Создавать БД лучше из заранее подготовленного текстового файла с кодом SQL, прикрепляемого к проекту в качестве ресурса и использовать его как переменную string

2.2 Все запросы также удобно создавать в виде файлов ресурсов, а если необходимо изменять данные в запросе, то можно использовать StringFormat...


3. В каждом своем крупном проекте стараюсь использовать текущий механизм взаимодействия МТ5 и SQLite, с данными стало работать очень удобно, БОЛЬШОЕ СПАСИБО! 

 
Daniil Kurmyshev:

Уважаемые разработчики, всем доброго дня!

Мне ОЧЕНЬ нравиться использование SQLite в МТ5, так как я проникся всеми плюсами данного нововведения, очень хочется дополнения....п.1 )))

1. Возможно добавить поддержку JSON функций внутри запросов, со стороны SQLite эта возможность реализована уже достаточно давно и я ей активно пользуюсь в других программах...,а хочется и в МТ5, так как:

1.1 Это очень удобно, разбор и сбор JSON работает из коробки очень быстро

1.2 Не нужно использовать сторонних библиотек для сборки и разборки ответов

1.3. Возможность сохранять данные пачками и обрабатывать на стороне базы по SQL запросу

1.4. Если ответ сервера изменился или ещё в ряде случае, достаточно изменить SQL запрос и не перекомпилировать программу и

это только часть плюсов...которых сейчас нет в текущей реализации для МТ5, предполагаю что к МТ5 подключена старая версия SQLite...

В целом это дает очень много возможностей для крупных проектов для их масштабирования в мультисерверных системах, где каждый поставщик данных имеет свои структуры и т.д..



2. Прочитал предыдущие сообщения по теме единовременного доступа как для записи так и для чтения из БД...

лично я рекомендую и использую: PRAGMA journal_mode = WAL; 

это решает много проблем с мультидоступом к БД и повышает серьезность SQLite...

2.1 Создавать БД лучше из заранее подготовленного текстового файла с кодом SQL, прикрепляемого к проекту в качестве ресурса и использовать его как переменную string

2.2 Все запросы также удобно создавать в виде файлов ресурсов, а если необходимо изменять данные в запросе, то можно использовать StringFormat...


3. В каждом своем крупном проекте стараюсь использовать текущий механизм взаимодействия МТ5 и SQLite, с данными стало работать очень удобно, БОЛЬШОЕ СПАСИБО! 

Было бы конечно не плохо дать возможность одновременного доступа к БД разным скриптам. Чего то разработчики об этом не подумали ((

Видимо не хотят дальше развивать инструменты MQL5.

 
GEORGI ANIKIN:

Было бы конечно не плохо дать возможность одновременного доступа к БД разным скриптам. Чего то разработчики об этом не подумали ((

Видимо не хотят дальше развивать инструменты MQL5.

Конечно подумали.

Из разных скриптов внутри терминала можно обращаться к одним и тем же базам и таблицам.

Вот пример одновременных писателя и читателя. Запустите на разных чартах.

Файлы:
 
Renat Fatkhullin:

Конечно подумали.

Из разных скриптов внутри терминала можно обращаться к одним и тем же базам и таблицам.

Вот пример одновременных писателя и читателя. Запустите на разных чартах.

Ренат, здравствуйте!

Подскажите, будет ли реализована возможность хранения JSON в базе и работа с ним, хотя бы в ближайшем будущем?

 
Daniil Kurmyshev:

Ренат, здравствуйте!

Подскажите, будет ли реализована возможность хранения JSON в базе и работа с ним, хотя бы в ближайшем будущем?

Завтра в бете 2840 будет:

  • версия SQLite 2.35.2

  • постоянный WAL режим, позволяющий работать с открытой базой из разных приложений (раньше MetaEditor не мог работать параллельно терминалу)

  • расширение статистический функций
        mode - mode,
        median - median (50th percentile),
        percentile_25 - 25th percentile,
        percentile_75 - 75th percentile,
        percentile_90 - 90th percentile,
        percentile_95 - 95th percentile,
        percentile_99 - 99th percentile,
        stddev or stddev_samp - sample standard deviation,
        stddev_pop - population standard deviation,
        variance or var_samp - sample variance,
        var_pop - population variance.
    пример:
    select
      count(*) as book_count,
      cast(avg(parent) as integer) as mean,
      cast(median(parent) as integer) as median,
      mode(parent) as mode,
      percentile_90(parent) as p90,
      percentile_95(parent) as p95,
      percentile_99(parent) as p99
    from bookmarks;
  • новые математические функции
        acos(X)
        acosh(X)
        asin(X)
        asinh(X)
        atan(X)
        atan2(X,Y)
        atanh(X)
        ceil(X)
        ceiling(X)
        cos(X)
        cosh(X)
        degrees(X)
        exp(X)
        floor(X)
        ln(X)
        log(B,X)
        log(X)
        log10(X)
        log2(X)
        mod(X,Y)
        pi()
        pow(X,Y)
        power(X,Y)
        radians(X)
        sin(X)
        sinh(X)
        sqrt(X)
        tan(X)
        tanh(X)
        trunc(X)
    
    
  • JSON поддержку тоже включили

    В визард создания баз данных новый json тип включим позже.



Причина обращения: