Общие вопросы по разработке > Возможно ли: Доступ к базе данных котировок через ODBC?

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
Аватара пользователя
Indigo-On
Сообщения: 62
Зарегистрирован: 28 ноя 2018, 18:44
Откуда: Russia
Благодарил (а): 25 раз
Поблагодарили: 9 раз

Возможно ли: Доступ к базе данных котировок через ODBC?

Непрочитанное сообщение Indigo-On » 23 янв 2019, 13:19

Доброго дня всем.

Встал вопрос получения архивных данных и текущих котировок из базы данных AD4 посредством ODBC или хотя бы через DDE.
Возможно ли?

Забыл добавить: только для чтения данных. Запись не нужна.

ensh
Сообщения: 229
Зарегистрирован: 28 июн 2017, 13:56
Благодарил (а): 4 раза
Поблагодарили: 41 раз

Re: Возможно ли: Доступ к базе данных котировок через ODBC?

Непрочитанное сообщение ensh » 23 янв 2019, 13:47

Я выложил вариант консольного приложения подключающегося к AD:
Вариант 1 - на нем наваять dde сервер (это не сложно, за пару свободных дней)
Вариант 2 - прямо в приложении логику писать
Вариант 3 - из приложения писать данные в локальную базу, а из базы получать данные по odbc.
Вариант 4 - что-то накрутить с api терминала

AP_Bor
Сообщения: 170
Зарегистрирован: 18 дек 2017, 08:18
Благодарил (а): 12 раз
Поблагодарили: 8 раз

Re: Возможно ли: Доступ к базе данных котировок через ODBC?

Непрочитанное сообщение AP_Bor » 23 янв 2019, 19:00

Доброго времени суток, Indigo-On
Indigo-On писал(а):... только для чтения данных. Запись не нужна.
Трудно без предыстории, читать ODBC, а писать как и куда?
Добавлю от себя:
  • ADClientSDK.dll - подписка на историю или база - робот.
  • Чтение HTTP(пример у evge) - Финам - история.
► Показать
С наилучшими пожеланиями

Аватара пользователя
Indigo-On
Сообщения: 62
Зарегистрирован: 28 ноя 2018, 18:44
Откуда: Russia
Благодарил (а): 25 раз
Поблагодарили: 9 раз

Re: Возможно ли: Доступ к базе данных котировок через ODBC?

Непрочитанное сообщение Indigo-On » 23 янв 2019, 21:43

Если кому интересно:
Все базы данных AD4 построены на основе LiteDB, всё реализовано при помощи одной LiteDB.dll в папке Alfa-Direct Pro. Версия LiteDB v2.0.4. SQL-ем там и не пахнет. База нереляционная документо-ориентированная. данные хранятся в оперативной памяти.
В AD4 в виде отдельных файлов с расширением .db в папке local Settings/Alfa-Direct/DB хранятся данные, кешированные при подключении терминала. Формат файлов закрытый.
Описание и доки LiteDB на сайте http://www.litedb.org/.

Обновлено по информации от ensh: смотрите ниже.
Прошу прощения, что пытался ввести всех в заблуждение. :-(
Последний раз редактировалось Indigo-On 23 янв 2019, 23:14, всего редактировалось 6 раз.

AP_Bor
Сообщения: 170
Зарегистрирован: 18 дек 2017, 08:18
Благодарил (а): 12 раз
Поблагодарили: 8 раз

Re: Возможно ли: Доступ к базе данных котировок через ODBC?

Непрочитанное сообщение AP_Bor » 23 янв 2019, 22:19

Доброго времени суток, Indigo-On
Indigo-On писал(а):База нереляционная документо-ориентированная.
Я тоже это заметил, а откуда убеждение "<База нереляционная документо-ориентированная.>", насколько мне известно реляционная или нет бывает модель хранения данных?
Да это не Sybase или MSSQL, но Transact SQL поддерживает, раньше мне не хватало только хранимых процедур, но работать сможете.
Сообщите о результатах, pls.
► Показать
С наилучшими пожеланиями

ensh
Сообщения: 229
Зарегистрирован: 28 июн 2017, 13:56
Благодарил (а): 4 раза
Поблагодарили: 41 раз

Re: Возможно ли: Доступ к базе данных котировок через ODBC?

Непрочитанное сообщение ensh » 23 янв 2019, 22:24

В AD4 все данные хранятся в оперативной памяти, написана простейшая СУБД, которая позволяет делать выборки по этим данным в рамках обновления окон и работы роботов.

Файлы db используются для кеширования данных с сервера и имеют проприетарный формат, используются один раз при старте системы и перезаписываются при нормальном выходе из программы.

LiteDB пытались прикрутить, но оставили эту затею, сил не хватило выпилить, лежит мертвым грузом.

AP_Bor
Сообщения: 170
Зарегистрирован: 18 дек 2017, 08:18
Благодарил (а): 12 раз
Поблагодарили: 8 раз

Re: Возможно ли: Доступ к базе данных котировок через ODBC?

Непрочитанное сообщение AP_Bor » 23 янв 2019, 22:29

Доброго времени суток, ensh
ensh писал(а):Файлы db используются для кеширования данных с сервера и имеют проприетарный формат, используются один раз при старте системы и перезаписываются при нормальном выходе из программы.
Познавательно, нужно проверить.
► Показать
С наилучшими пожеланиями

Аватара пользователя
Indigo-On
Сообщения: 62
Зарегистрирован: 28 ноя 2018, 18:44
Откуда: Russia
Благодарил (а): 25 раз
Поблагодарили: 9 раз

Re: Возможно ли: Доступ к базе данных котировок через ODBC?

Непрочитанное сообщение Indigo-On » 23 янв 2019, 23:01

ensh писал(а):В AD4 все данные хранятся в оперативной памяти, написана простейшая СУБД, которая позволяет делать выборки по этим данным в рамках обновления окон и работы роботов.
Файлы db используются для кеширования данных с сервера и имеют проприетарный формат, используются один раз при старте системы и перезаписываются при нормальном выходе из программы.
LiteDB пытались прикрутить, но оставили эту затею, сил не хватило выпилить, лежит мертвым грузом.

Спасибо за информацию. Поправил наверху.

Аватара пользователя
Indigo-On
Сообщения: 62
Зарегистрирован: 28 ноя 2018, 18:44
Откуда: Russia
Благодарил (а): 25 раз
Поблагодарили: 9 раз

Re: Возможно ли: Доступ к базе данных котировок через ODBC?

Непрочитанное сообщение Indigo-On » 26 янв 2019, 17:29

Нашел время и погонял файлы базы данных из папки DB.
Файлы с расширением rdb в папке DB/MTS являются файлами данных СУБД LiteDB v2.0.4, содержат коллекцию Workers.
Файлы с расширением db в корне папки DB открываются LiteDB v2.0.4, но файлами баз данных LiteDB не являются и не содержат collections внутри.
Файлы с расширением db с котировками файлами баз данных LiteDB не являются и не открываются LiteDB v2.0.4.


Вернуться в «Общие вопросы по разработке»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей