将MySQL连接到MQ4

 

亲爱的专家们,你们好!

在编写专家顾问时,我真的很怀念访问数据库的能力!

请告诉我如何连接到数据库。

由于我对MySQL已经很熟悉,所以最好使用它。

 
 
Eugene1:

亲爱的专家们,你们好!
我真的很怀念在编写专家顾问时访问数据库的能力!
请告知如何连接到数据库。
由于我对MySQL已经很熟悉了,所以还是用它吧。


不幸的是,你只能使用MQL向数据库添加数据。

但要从它那里读出--只有在你的DLL的帮助下。

 

也可以使用MySQL的标准DLL来读取。

有一些复杂的问题,但都是可以解决的。

 
HIDDEN:

也可以使用MySQL的标准DLL来读取。

有一些复杂的问题,但都是可以解决的。


它是如何解决的?
看到你的主题https://www.mql5.com/ru/forum/129879
 

实际上,MKL4通过libmySQL.dll与肌肉正常工作(接收和发送数据)。MKL4没有问题,但MKL5有一个很大的问题,因为是Unicode。在数据库中信息是正常发送的,但返回的是象形文字(如果你在其他程序中浏览数据库,所有显示正常)。在这个阶段,我不得不为MKL5写一个dll转换器。

//----------------------------------------------------------+
function a2u(var s:pansichar):PWideChar; stdcall;
//----------------------------------------------------------+
var
  w: WideString;
begin
  w := s;
  Result := PWideChar(w);
end;

代码是用Delphi编写的。肌肉是以这样的方式与MT5合作的。我想摆脱这个dll,如果有人能告诉我怎么做,我将非常感激。

我有一个与MT5的SQLite 一起工作的类,有一个建议是为肌肉写一个类似的类。

肌肉的另一个有趣之处在于,libmySQL.dll不断出现错误,导致终端崩溃或停止程序。我强烈建议改用MariaDB。它与肌肉完全兼容,工作更稳定,两个星期以来还没有出现过错误。

 
Graff:

事实上,MKL4通过libmySQL.dll与肌肉正常工作(接收和发送数据)。MKL4不存在任何问题

你如何从返回的结构指针中获取数据?
 
sergeev:
你如何从返回的结构指针中获取数据?


如果你能帮助写出MKL5的ansi到unicode的转换器,其代码已在之前的帖子中给出。我将把MKL4的工作代码发给你,这也将有助于为MKL5编写类。
 
Graff:

MKL5的ansi转unicode转换器,其代码在上一篇文章中给出。

我需要看到这个问题,因为在MQL中,它可以用不同的方法解决。

 
sergeev:

我需要看到这个问题,因为在MQL中,它可以用不同的方法来解决。或者通过Uchar数组或CharToString等。


在Skype或ICQ上添加我(MKL5网站上我的个人资料中的联系人)。我会把MKL4和MKL5的所有源代码一次性发给你,但我需要帮助进行字符串转换。
 
Graff:

在Skype或ICQ上添加我(MKL5网站上我的个人资料中的联系人)。我将一次性把MKL4和MKL5的所有源代码发给你,但我需要帮助转换行。

亲临现场更好。