Ошибки при работе с MS SQL из MQL5

 

Добрый день,


Взял компоненту из статьи https://www.mql5.com/ru/articles/2895

Пока советник с загруженной компонентой стоит на одном или двух графиках - проблем нет.

Как только подключаю третий и далее - начинают сыпаться ошибки.


Такое ощущение, что при загрузке компоненты третий раз - используется загруженная ранее.

Подскажите, как бороться с ошибками и добиться стабильной работы вне зависимости от количества советников на графике?

У меня пока только мысль вытянуть REST сервис из 1С и сливать данные в базу 1С. Или сервис на Python и через прослойку на Python сливать в MS SQL. Но хотелось бы без прослоек..

Интеграция эксперта на MQL и базы данных (SQL Server, .NET и C#)
Интеграция эксперта на MQL и базы данных (SQL Server, .NET и C#)
  • www.mql5.com
Теперь перейдём к функциям. Для функций, которые будут экспортироваться для использования в MQL5, есть ограничения. Функции, как уже говорилось, должны быть статическими. Нельзя использовать шаблонные классы коллекций (пространство имён System.Collections.Generic). Компилироваться с ними всё будет хорошо, но на этапе исполнения могут...
 

Ошибки вообще-то надо проверять :-)

у вас первое "Connection is null", всё прочее очевидно наведёнки

и надо из C#(да и вообще из всех DLL) вытаскивать всю возможную диагностику при ошибках

можете попробовать воткнуть CritcalSection вокруг вызовов - возможно инит MSSQL как-то неверно сделан и не годен к multithread. Если помогает значит как-то надо объяснять что из разных нитей возможны множественные подключения

PS/ кстати почему именно шарп и MSSQL ? судя по кругозору - возможны же более прямые решения (C/C++ DLL, MySQL или даже Oracle - у них интрефейсы не такие @#нутые)

PPS/ периодически смотрю краем глаза на 1С - чуть не единственная ERP более-менее доступная. В принципе мостик к ней был бы крут :-)