Обсуждение статьи "Работа с СУБД MySQL из MQL5 (MQL4)" - страница 13
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
win 7 x64 - mt5 x64 последней версии (v5 b1455)
до MySQL не доходит, но не жалко
Сервер: Localhost via UNIX socket
Тип сервера: Percona Server
Версия сервера: 5.5.35-33.0-log - Percona Server (GPL), Release rel33.0, Revision 611
Версия протокола: 10
Пользователь: ***
Кодировка сервера: UTF-8 Unicode (utf8)
Вот для MQL5 перекомпилил x64
Павел попробуйте.
проблем с подключением dll'ок больше нет
всё работает, спасибо
проблем с подключением dll'ок больше нет
всё работает, спасибо
Всегда рад помочь.
Удачи Вам в проектах.
Спасибо, прочитал. Там оч дельное замечание автора текущей статьи, который пришел,... и все испортил.)
Сам сталкивался не раз с проблемой коллизий на ней. Скажем, если торговый робот прикреплен к различным чартам, а использует одну базу, причем обращение происходит к одной таблице общего назначения (скажем регистрация/изменение сессий, аккаунтов), то в любом случае вы получите ошибку типа "таблица заблокирована". И не важно что транзакции все завершены, курсоры все закрыты и БД открыта была в shared режиме.
Комментатор наверно не разбирался в настройках sqlite, которые все коллизии разрешают через компилирование для режим с локами или через pragma.
Со своей колокольни могу сказать что я несколько лет на тяжеловесных проектах с одновременным чтением/записью многопоточно - и нет никаких проблем, главное чтоб руки были прямые.
Комментатор наверно не разбирался в настройках sqlite, которые все коллизии разрешают через компилирование для режим с локами или через pragma.
Со своей колокольни могу сказать что я несколько лет на тяжеловесных проектах с одновременным чтением/записью многопоточно - и нет никаких проблем, главное чтоб руки были прямые.
o_O
Если что я могу поднять тот проект для SQLite, написать тестовые скрипты/EA и если будут снова локи, то можем вместе разобраться (если Вы не против) и предоставить программное решение сообществу.
Возможно стоит уделить этому внимание т.к. есть некоторые преимущества бд (автономность, SQL, мобильность, встраиваемость и т.п.).
По факту, я брал готовую DLL от SQLite (не исходники) и ее не перекомпиливал, а просто работал с С++ API.
o_O
Если что я могу поднять тот проект для SQLite, написать тестовые скрипты/EA и если будут снова локи, то можем вместе разобраться (если Вы не против) и предоставить программное решение сообществу.
Возможно стоит уделить этому внимание т.к. есть некоторые преимущества бд (автономность, SQL, мобильность, встраиваемость и т.п.).
По факту, я брал готовую DLL от SQLite (не исходники) и ее не перекомпиливал, а просто работал с С++ API.
Было бы действительно интересно, если бы "миф" о локировании SQLite был бы подтвержден или развеян. Если бы не эта неопределенность, или решения ее устраняющие, то SQlite оч привлекательный вариант взаимодействия. Интересно было бы узнать также что либо о ее быстродействии, например по сравнению с одинаковой базой с Access. Разумеется, если у кого либо найдется реальное время и желание проделать такую работу.
Возникают правда еще вопросы подключения базы к стороннему ПО, которое можно подключить к любой БД - Access, SQL Server, Oracle и пр. Имеется ли в SQLite драйвер, устанавливаемый на компьютер типа OLEDB или хотя бы ODBC? Причем в тот-же Access несколько приложений могут писать-читать в одну и ту же БД асинхронно через различные интефейсы без каких либо проблем. Подозреваю. что с SQLite это может не прокатить.
Было бы действительно интересно, если бы "миф" о локировании SQLite был бы подтвержден или развеян. Если бы не эта неопределенность, или решения ее устраняющие, то SQlite оч привлекательный вариант взаимодействия. Интересно было бы узнать также что либо о ее быстродействии, например по сравнению с одинаковой базой с Access. Разумеется, если у кого либо найдется реальное время и желание проделать такую работу.
Возникают правда еще вопросы подключения базы к стороннему ПО, которое можно подключить к любой БД - Access, SQL Server, Oracle и пр. Имеется ли в SQLite драйвер, устанавливаемый на компьютер типа OLEDB или хотя бы ODBC? Причем в тот-же Access несколько приложений могут писать-читать в одну и ту же БД асинхронно через различные интефейсы без каких либо проблем. Подозреваю. что с SQLite это может не прокатить.
Ну OLEDB для SQLite есть, достаточно погуглить. Кстати интересная идея прогнать тестовые скрипты по поводу лока через OLEDB к SQLite... изврат конечно, но все мы здесь извращенцы...
А по нативному доступу, я полагаю совместными усилиями мы сможем достичь положительного результата. Тут вопрос времени только, на этой неделе у меня точно не получится... может на выходных выделю время...
Ну OLEDB для SQLite есть, достаточно погуглить. Кстати интересная идея прогнать тестовые скрипты по поводу лока через OLEDB к SQLite... изврат конечно, но все мы здесь извращенцы...
А по нативному доступу, я полагаю совместными усилиями мы сможем достичь положительного результата. Тут вопрос времени только, на этой неделе у меня точно не получится... может на выходных выделю время...
У меня есть приложение создающее БД и пишущее (не читающее) в нее большие объемы информации во многие таблицы. Если удастся найти OLEDB драйвер устанавливаемый на компьютер и видимый через настройки приложения, то SQLite можно легко протестировать на отсутствие зависаний. Аналогичным образом можно подключить к SQLite тот-же Access и попробовать параллельно читать и изменять таблицы. Что-то измерить, разумеется, не удастся.
Посмотрел инет. С ходу такой OLEDB провайдер обнаружить не удалось. Все больше OLEDB DLL, которые можно использовать только из языков программирования, насколько я понял.
начало постоянно вылазить, что значит?
при выполнении моего кода в этой строчке
if(DB==-1){DB=MySqlConnect(Host, User, Password, Database, Port, Socket, ClientFlag);}
res = MySqlCursorOpen(DB, "SELECT id, account, symbol FROM `current` WHERE account="+account);