MQ4へのMySQLのアタッチメント

 

専門家の皆さん、こんにちは。

Expert Advisorを書く ときに、データベースにアクセスする機能がないのは本当に残念です。

データベースへの接続方法を教えてください。

私はすでにMySQLに精通しているので、それを使用するのがよいでしょう。

 
 
Eugene1:

専門家の皆さん、こんにちは。
Expert Advisorを書くときに、データベースにアクセスする機能がないのは本当に残念です。
データベースへの接続方法を教えてください。
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に 変更することを強くお勧めします。マッスルとの完全な互換性があり、動作もより安定し、2週間の間、まだエラーは出ていない。

 
Graff:

実際、MKL4はlibmySQL.dllを介して筋肉と正常に動作(データの受発信)しています。MKL4には問題がない

返された構造体ポインタから、どのようにデータを取得するのですか?
 
sergeev:
返された構造体ポインタから、どのようにデータを取得するのですか?


もしあなたがMKL5用のansi-unicodeコンバータを書くのを手伝ってくれるなら、そのコードは前の投稿に示されています。MKL4の動作コードをお送りします。MKL5のクラスを作成する際にも役立ちます。
 
Graff:

MKL5用のansi-unicodeコンバータで、そのコードは前の投稿にあります。

MQLでは、uchar配列やCharToStringなど、さまざまな方法で問題を解決できます。

 
sergeev:

MQLでは様々な方法で解決できるため、問題を確認する必要があります。


スカイプまたはICQで私を追加してください(連絡先はMKL5ウェブサイトの私のプロフィールにあります)。MKL4とMKL5のソースコードを一度に送りますが、文字列の変換を手伝ってほしいのです。
 
Graff:

SkypeまたはICQで私を追加してください(連絡先はMKL5ウェブサイトの私のプロフィールにあります)。MKL4とMKL5のソースコードを一度に送りますが、ライン変換を手伝って欲しいです。

プライベートメッセージの方が良い。