Discussion de l'article "Comment accéder à la base de données MySQL à partir de MQL5 (MQL4)" - page 5

 

Hello sir ,my MT4 show :Connection failed ! Erreur : Maximum connections exceeded.--comment puis-je résoudre ce problème? Je suppose que le nombre maximum de connexions est de 32,comment puis-je augmenter le nombre de connexions à 64 ? ?

Merci pour votre aide,sir.

 
illman:

Hello sir ,my MT4 show :Connection failed ! Erreur : Maximum connections exceeded.--comment puis-je résoudre ce problème? Je suppose que le nombre maximum de connexions est de 32,comment puis-je augmenter le nombre de connexions à 64 ? ?

Merci pour votre aide,sir.

Bonjour,

Oui, le nombre maximum de connexions est de 32.

Essayez-vous d'utiliser votre programme MQL basé sur MQLMySQL.dll sur plus de 32 graphiques simultanément ?

Ou vous avez simplement oublié de fermer la connexion dans votre programme ?

Pour changer la connexion maximale de 32 à une autre, vous devez reconstruire MQLMySQL.DLL. Les sources sont jointes à l'article, vous devez :

1. Décompresser les sources de "MQLMySQL DLL Project MSVS-2010.zip"

2. Charger le projet dans MS Visual Studio 2010 ou supérieur

3. Ouvrez le fichier "MQLMySQL.h"

4. Trouver la chaîne de caractères :

// définition de la base de données
#define  MAX_CONNECTIONS 32

et remplacer la valeur 32 par 64 ou ce que vous voulez

// définition de la base de données
#define  MAX_CONNECTIONS 64

5. Reconstruire le projet

6. Remplacez une ancienne DLL dans votre dossier de données Metatrader par la nouvelle compilée.

Merci beaucoup,

Eugène

 

elugovoy:

Parce que,J'utilise beaucoup de données étrangères pour mon index ,donc les connexions deviennent très grandes ,une fois plus de 32 ,MT4 indiquera "erreur" et ne montrera rien dans les fenêtres d'index.

Je vous remercie de votre aide et de vos efforts pour développer tout cela.


Bonjour,

Oui, le nombre maximum de connexions est de 32.

Essayez-vous d'utiliser votre programme MQL basé sur MQLMySQL.dll sur plus de 32 graphiques simultanément ?

Ou vous avez simplement oublié de fermer la connexion dans votre programme ?

Pour changer la connexion maximale de 32 à une autre, vous devez reconstruire MQLMySQL.DLL. Les sources sont jointes à l'article, vous devez :

1. Décompresser les sources de "MQLMySQL DLL Project MSVS-2010.zip"

2. Charger le projet dans MS Visual Studio 2010 ou supérieur

3. Ouvrez le fichier "MQLMySQL.h"

4. Trouver la chaîne de caractères :

et remplacer la valeur 32 par 64 ou ce que vous voulez

5. Reconstruire le projet

6. Remplacez une ancienne DLL dans votre dossier de données Metatrader par la nouvelle compilée.

Merci beaucoup,

Eugène

 

Tout d'abord, merci pour la librairie, c'est de loin la meilleure solution qui existe et la plus documentée.

Je me demandais s'il y avait un moyen d'obtenir les lignes affectées après une déclaration de mise à jour, afin d'exécuter une insertion si les enregistrements mis à jour sont 0 (la mise à jour réussit, mais ne met à jour aucun enregistrement à cause des conditions du filtre "where").

Je ne veux pas utiliser un "insert on duplicate key update" parce que dans 99,9% des cas, l'instruction de mise à jour mettra effectivement à jour 1 enregistrement (qui existe déjà), et il n'est donc pas nécessaire d'exécuter l'insert. Je suppose qu'il y a un impact sur les performances en essayant d'insérer toujours sans nécessité.

Merci d'avance !

 
jmhoms:

Tout d'abord, merci pour la librairie, c'est de loin la meilleure solution qui existe et la plus documentée.

Je me demandais s'il y avait un moyen d'obtenir les lignes affectées après une déclaration de mise à jour, afin d'exécuter une insertion si les enregistrements mis à jour sont 0 (la mise à jour réussit, mais ne met à jour aucun enregistrement à cause des conditions du filtre "where").

Je ne veux pas utiliser un "insert on duplicate key update" parce que dans 99,9% des cas, l'instruction de mise à jour mettra effectivement à jour 1 enregistrement (qui existe déjà), et il n'est donc pas nécessaire d'exécuter l'insert. Je suppose qu'il y a un impact sur les performances en essayant d'insérer toujours sans nécessité.

Merci d'avance !

Bonjour, cher ami,

Si vous avez MSVC 2010, vous pouvez télécharger les sources de MQLMySQL.DLL et ajouter la fonction dont vous avez besoin ; l'API MySQL C++ possède une telle fonction (http://dev.mysql.com/doc/refman/5.0/en/mysql-affected-rows.html).

Ou je peux le faire pour vous, mais en ce moment je n'ai pas de temps pour cela, peut faire sur le week-end (7-8 Mars, 2015), est-ce que cela vous convient ?

Bien cordialement,

Eugène

 
elugovoy:

Bonjour cher ami,

Si vous avez MSVC 2010, vous pouvez télécharger les sources de MQLMySQL.DLL et ajouter la fonction dont vous avez besoin ; l'API MySQL C++ a une telle fonction(http://dev.mysql.com/doc/refman/5.0/en/mysql-affected-rows.html).

Ou je peux le faire pour vous, mais en ce moment je n'ai pas de temps pour cela, peut faire sur le week-end (7-8 Mars, 2015), est-ce que cela vous convient ?

Bien cordialement,

Eugène

Bien sûr que ça marche pour moi ! !!

Merci beaucoup.

Josep M.

 

Bonjour Eugeniy,

avez-vous eu l'occasion de jeter un coup d'œil à la fonctionnalité "lignes affectées" ?

Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées,

Josep M.

 
jmhoms:

Bonjour Eugeniy,

avez-vous eu l'occasion de jeter un coup d'œil à la fonctionnalité "lignes affectées" ?

Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées,

Josep M.

Bonjour Josep,

J'ai répondu par message privé.

Quoi qu'il en soit, je publie ici la version 2.2. Testée sur MT4. Si vous avez des problèmes avec MT5 (x32/x64), faites-le moi savoir.

Bon travail !

Dossiers :
MQL4_x32.zip  1073 kb
MQL5_x32.zip  1073 kb
MQL5_x64.zip  1076 kb
MQLMySQL_v2_2.zip  5072 kb
 
elugovoy:
Pour les plates-formes x64, utilisez la bibliothèque suivante (avec discussion)
Violation d'accès en lecture à 0x72656472
 

Bonjour, Quelle version du terminal MT5 utilisez-vous ?

Quelle version du terminal MT5 utilisez-vous ?

Veuillez essayer la dernière mise à jour des bibliothèques MQLMySQL, jointe ici.

Dossiers :
MQL4_x32.zip  1073 kb
MQL5_x32.zip  1073 kb
MQL5_x64.zip  1076 kb
MQLMySQL_v2_2.zip  5072 kb