記事"MQL5 (MQL4)から MySQL データベースにアクセスする方法"についてのディスカッション - ページ 26

 
Ana Fonseca:
DLLをどのフォルダに保存すればいいですか?
DLL アップデートパッケージ一式を以下に示します: https://github.com/elugovoy/MQLMySQL-Project
metatrader フォルダ構造にあるコンパイルされた DLL を含みます。
 

Eugeniyさん、 こんにちは、

MQLMySQL.dllの64バージョンを提供してもらえますか。ロードすると、mtは次のようなプロンプトを表示します。

'C:\Users\ddy\AppData\Roaming\MetaQuotes\Terminal\A82A50F46FD795A059C2382724C7195E\MQL5\libraries\MQLMySQL.dll' is not 64-bit version
Cannot load 'C:\Users\ddy\AppData\Roaming\MetaQuotes\Terminal\A82A50F46FD795A059C2382724C7195E\MQL5\libraries\MQLMySQL.dll' [193]
 
Xiaowei Yan:

こんにちは、エウゲニー、

MQLMySQL.dllの64バージョンを提供していただけますか。ロードすると、mtは次のようなプロンプトを表示します。

もちろんです。コンパイル済みのx64 DLLをGitHubからダウンロードできます: https://github.com/elugovoy/MQLMySQL-Project/tree/master/MQLMySQL/x64/Release

プロジェクトの完全なリポジトリ: https://github.com/elugovoy/MQLMySQL-Project

よろしくお願いします、

ユージン

elugovoy/MQLMySQL-Project
elugovoy/MQLMySQL-Project
  • elugovoy
  • github.com
MQL & DLL libraries for working with MySQL database - elugovoy/MQLMySQL-Project
 

こんにちは、 Eugeniy、

私は、ファイルから設定を読み取るコードを変更する方法があるかどうか疑問に思っていました。

// INIファイルからデータベースの認証情報を読み込む
 Host = ReadIni(INI, "MYSQL", "Host");
 User = ReadIni(INI, "MYSQL", "User");
 Password = ReadIni(INI, "MYSQL", "Password");
 Database = ReadIni(INI, "MYSQL", "Database");
 Port     = (int)StringToInteger(ReadIni(INI, "MYSQL", "Port"));
 Socket   = ReadIni(INI, "MYSQL", "Socket");
 ClientFlag = CLIENT_MULTI_STATEMENTS; 

ファイルから設定を読み取るコードを変更し、代わりにこの割り当てを使用する方法はありますか?

Host = "127.0.0.1";
User = "mt4";
Password = "mt4";
Database ="mt4";
Port     = 3306
Socket   = 0
ClientFlag = CLIENT_MULTI_STATEMENTS; 

私はアクセス違反が0x00000000 MQLMySQL.dllを読んでいるようなエラーメッセージが表示されるので、それは可能ですか?

可能な解決策はありますか?

 
heere:

こんにちは、 エウゲニー、

ファイルから設定を読み込むコードを変更する方法はないでしょうか?

から設定を読み込むコードを変更し、代わりにこの代入を使う方法はないでしょうか?

というエラーメッセージが表示されます。

可能な解決策はありますか?

Host = "127.0.0.1";
User = "mt4";
Password = "mt4";
Database ="mt4";
Port     = 3306;
Socket   = "0"; // この変数は文字列でなければならない。
ClientFlag = CLIENT_MULTI_STATEMENTS; 

多分これは助けになる

 
MARCOS DALCIN ALVES DINIZ:

OpenSSLのバージョンを更新したらうまくいった。ご清聴ありがとうございました。

こんにちは~。

私も[126]のエラーの質問がありました:


Cannot load'C:◆Usersprogramer01 ◆Desktop ◆MyMT5 ◆MQL5 ◆Libraries ◆MQLMySQL.dll' [126].

Cannot call'cMySqlVersion','MQLMySQL.dll' is not loaded

未解決のインポート関数 呼び出し


MARCOSは、それがOpenSSLのバージョンを更新した後、正常であると述べた

どうすればOpenSSLのバージョンを更新できますか?

ありがとうございました!~



PS.

私はこの分野に詳しくないので

もう一度お聞きしたいのですが

Librariesフォルダに3つのdllファイルがありますね。

1.libcrypto-1_1-x64.dll

2.libmysql.dll

3.libsl-1_1-x64.dll


MySQLソフトウェアをインストールしました。

これらのdllファイルは「.˶Program FilesMySQL」の下にあるパスからコピーされたものですか?

もしそうなら、どのフォルダからコピーされましたか?


 
zboo:

こんにちは

私も[126]のような疑問を持っていました:


Cannot load'C:♪Usersprogramer01♪Desktop♪MyMT5♪MQL5♪Libraries♪MQLMySQL.dll♪ [126].

cMySqlVersion'を呼び出せない、'MQLMySQL.dll'がロードされていない

未解決のインポート関数 呼び出し


MARCOSは、それがOpenSSLのバージョンを更新した後に正常であると述べた

どうすればOpenSSLのバージョンを更新できますか?

ありがとうございました!~



PS.

私はこの分野に詳しくないので

もう一度お聞きしたいのですが

Librariesフォルダに3つのdllファイルがありますね。

1.libcrypto-1_1-x64.dll

2.libmysql.dll

3.libsl-1_1-x64.dll


MySQLソフトウェアをインストールした

これらのdllファイルは、.∕Program FilesMySQL下のパスからコピーされていますか?

もしそうなら、どのフォルダからコピーされましたか?


どなたか同じ状況を解決するのを助けてくれますか?

ありがとうございました。

 
Eugeniy Lugovoy:

これが役に立つかもしれない

ありがとう。これで問題は解決した。

 

エウゲニイ・ルゴボイ

こんにちは、Eugeniy。記事をどうもありがとうございました。アドバイスいただけますか?テスター上ではなくEAを実行した場合、dllは問題なく動作します。テスター上では、次のエラーが出ます:"Cannot load 'C:゙Usersers...゙MQL5゙Libraries゙MQLMySQL.dll' [126]"。このため、過去のデータでEAをテストすることができません。

問題の背景:取引用の入力パラメータをロードするためにデータベースを使用しています。また、取引後に必要な情報を保存しています。このエラーはテスターでのみ発生します


私が試したこと

- 追加 #property tester_library "MQLMySQL.dll"

- DLLへのパスは別々に全部書いてください。

- ロードされないファイルがフォルダ内にあるかどうかダブルチェックしました。

ファイルはフォルダにあるのですが、ロードできません。他にどこを掘ればいいのか教えてください。

 

正しい接続文字列を使用しているかどうか、どなたかご確認ください。

ホストに"127.0.0.1 "を使用しています。

user、pass、databaseを引用符で囲んでいます(3つの別々のパラメータ)。

ソケットにはNULLを、クライアント・フラグには0を指定しています。

(私のシステムはWin10です)


インサートを実行しようとすると、データベース接続がないというエラーが表示されます。