bonjour
comment faire pour tester la connection avec la base de donnees interbase au demarrage de l'aplication si le test ok affichage de la form principale sinon on affiche une fiche de configuration qui est relier a un fichier ini .
bonjour
comment faire pour tester la connection avec la base de donnees interbase au demarrage de l'aplication si le test ok affichage de la form principale sinon on affiche une fiche de configuration qui est relier a un fichier ini .
Pourquoi ne pas tester avant tout la présence du fichier INI ?
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
lorsque le chemin vers la base est incorrect dans le fichier ini ce message s'affiche :
exception EIBINTERBASEERROR in module projet.exe at 00120D96
I/O error for file "(..../db.gdb) " Error while trying to oppen file
le chemin d'accès spécifié est introuvable .
et l'application ne démarre pas ?
je veut savoir si on peut empêcher la fermeture de l'application pour que on accède a une fiche pour configurer correctement la base de données et redémarrer l'application .
dans ce cas pourquoi ne pas tester l'existence du fichier directement (FileExists)
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
le ficher je suis sur qu'il existe mais je veut vérifier le chemin vers la base s'il est correct sinon on affiche une form de configuration
est il possible de tester ?Et comment ? merci
peut on tester la présence de la base de données avec FileExists même si la base se trouve sur un serveur distant ?
La réponse est non, puisque en théorie la base de données est censée être dans un dossier non partagé.
En fait ton problème n'est pas un problème Interbase, mais de gestion d'erreur au sein de ton application.
Intercepte l'erreur à la tentative de connexion et lors de l'échec, et suivant le code d'erreur renvoyé, réagit en conséquence.
@+ Claudius.
exist-il une fonction pour intercepter l'erreur lors de la tentative de connexion a la base de donnees ? (j'ai chercher et j'ai rien trouver )
Oui certainement, mais cela dépend du langage/EDI que tu utilises.
C'est dans le forum correspondant qu'il faut poser ta question.
@+
Salut
Inclus ta tentative de connexion dans un bloc Try-Except, et suivant le code d'erreur retourné réagit en conséquence.
Un exemple tout simple qui se contente de renvoyer un message précisant la nature de l'échec.
A adapter à tes besoins.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 uses IB, IBErrorCodes; // ... try IBDatabase1.Connected := True; except on E: EIBInterBaseError do case E.IBErrorCode of isc_unavailable: MessageDlg('La base de données n''est pas disponible !', mtError, [mbOK], E.HelpContext); isc_io_error: MessageDlg('La base de données est introuvable !' + #13#10 + 'Fichier: ' + FDataSource, mtError, [mbOK], E.HelpContext); isc_login: MessageDlg('Nom d''utilisateur ou mot de passe incorrect !', mtError, [mbOK], E.HelpContext); isc_shutdown: MessageDlg('La base de données est éteinte et reservée à ' + 'l''administrateur système.' + #13#10 + 'Essayez de vous reconnecter ultérieurement.', mtInformation, [mbOK], E.HelpContext); else MessageDlg('Erreur n° ' + IntToStr(E.IBErrorCode) + #13#10 + E.Message, mtError, [mbOK], E.HelpContext); end else raise; end;
@+ Claudius
Là où tu te connectes à la base de données:
A priori, oui dans le DataModule.
Code : Sélectionner tout - Visualiser dans une fenêtre à part IBDatabase1.Connected := True;
@+
merci cl@udius
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager