Problème AdoQuery [Résolu]

Messages postés
291
Date d'inscription
lundi 18 janvier 2016
Dernière intervention
14 février 2018
- - Dernière réponse : vico8000
Messages postés
291
Date d'inscription
lundi 18 janvier 2016
Dernière intervention
14 février 2018
- 13 févr. 2018 à 13:46
Bonjour,

J'ai un petit soucis dans mon code, et je ne trouve pas de solution.

Nom_Serveur := Fichier_Ini.ReadString('Variables_globales','Nom_Serveur','');
Password := Fichier_Ini.ReadString('Variables_globales','Password','');
User_ID := Fichier_Ini.ReadString('Variables_globales','User_ID','');
Nom_TableEvent := Fichier_Ini.ReadString('Variables_globales','Nom','');
CatalogEvent := Fichier_Ini.ReadString('Variables_globales','Catalog','');
CommandeSQL := 'Provider=SQLOLEDB.1;Password=' + Password + ';Persist Security Info=True;User ID=' + User_ID + ';Initial Catalog=' + CatalogEvent + ';Data Source=' + Nom_Serveur + ';';
Consoletrace('test1',debugglevel1);
with AdoConnectionEvent do Begin
Close;
loginPrompt:=False;
ConnectionString:=CommandeSQL;
End;
Consoletrace('test2',debugglevel1);
AdoConnectionEvent.Open();
Consoletrace('test3',debugglevel1);
AdoQueryEvent.Connection:=AdoConnectionEvent;
Consoletrace('test4',debugglevel1);


Lorsque mon serveur SQL est joignable, aucun problème. Lorsqu'il n'est pas joignable pour x raison, je reste planté au niveau de mon AdoConnectionEvent.Open();.
J'ai également essayé avec des try/except sans résultat et également ceci :
try
ADOConn.Connected := True;
except
on e: EADOError do
begin
MessageDlg('Error while connecting', mtError,
[mbOK], 0);

Exit;
end;
end;

sans résultat également. Même plantage, toujours avec le open et si utilisation d'un try, dans le try.

Je vous remercie par avance pour l'aide apportée.
Cordialement.
Afficher la suite 

Votre réponse

5 réponses

Messages postés
291
Date d'inscription
lundi 18 janvier 2016
Dernière intervention
14 février 2018
0
Merci
Bonjour,

Je suis toujours bloqué sur le point précédent.
J'ai multiplié les tests sans succes.
J'ai également ajouté un Connectiontimeout à mon adoconnection sans effet non plus. J'ai vraiment besoin d'aide.

Help !! Cordialement.
Commenter la réponse de vico8000
Messages postés
423
Date d'inscription
samedi 17 mai 2003
Dernière intervention
4 août 2018
0
Merci
Salut,

une solution semble être de détruire puis de recréer ADOConnection en cas d'erreur dans le bloc try...except.
Vu ici :
https://www.developpez.net/forums/d1761142/environnements-developpement/delphi/bases-donnees/probleme-adoconnection-postgresql/
Commenter la réponse de korgis
Messages postés
291
Date d'inscription
lundi 18 janvier 2016
Dernière intervention
14 février 2018
0
Merci
Bonjour,

Cela ne répondra malheureusement pas à mon problème puisque je n'arrive même pas à tester la condition false.

J'ai trouvé une solution à mon problème pour le open, le fait de passer en type de connexion asynchrone permet de passer à l'étape suivante.

Le problème c'est que j'ai le même plantage mais sur la condition suivante :
if not AdoConnectionEvent.Connected then

Des avis ?

Cordialement.
Commenter la réponse de vico8000
Messages postés
291
Date d'inscription
lundi 18 janvier 2016
Dernière intervention
14 février 2018
0
Merci
Bonjour,

Je viens aux nouvelles suite à de nouveaux tests.
J'ai essayé de remplacer mes composants ADOConnection et AdoQuery par les composants SQLConnection et SQLQuery.
Cela n'a réglé en aucun cas mon problème, je suis exactement au même cas de figure que sur les tests précédents.

Si un sauveur pouvait enlever son masque, ...

Cordialement.
Commenter la réponse de vico8000
Messages postés
291
Date d'inscription
lundi 18 janvier 2016
Dernière intervention
14 février 2018
0
Merci
Pour ceux qui auraient le même problème, effectuez des essais avec FireDAC, cela a réglé mon problème. (Mode AmAsync - Non bloquant)
Commenter la réponse de vico8000

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.