Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/03/2005, 12h20   #1
Invité régulier
 
Inscription : novembre 2003
Messages : 18
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 18
Points : 9
Points : 9
Par défaut INTERBASE[Erreur sur une requête et arrêt de la transaction]

Voila j'ai isolé mon probleme de perte de mémoire.

En fait je fais un programme de mise a jour de tables.

Et je fais une série d'ordre SQL genre alter table, insert ect...

Je fais un try catch pour chaque ordre sql, si c'est bon, je commit, sinon je rollback. Et lorsque je fais le rollback, ibserver pete un cable, le number of attachment (visible dans interbase manager) augmente indéfiniment.

Quelqu'un a deja eu ce genre de probleme? Si oui comment le résoudre? Merci.
spud19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2005, 13h55   #2
Membre régulier
 
Avatar de Freeze
 
Inscription : octobre 2002
Messages : 110
Détails du profil
Informations forums :
Inscription : octobre 2002
Messages : 110
Points : 93
Points : 93
Envoyer un message via MSN à Freeze
je pense que tu devrais aller du côté du forum Interbase ...
Freeze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2005, 14h08   #3
Membre habitué
 
Avatar de .:morgoth:.
 
Inscription : février 2005
Messages : 124
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 124
Points : 116
Points : 116
Ca peut venir du fait que tu essaies d'annuler une transaction qui est plantée puisque la requete a généré une erreur (ca va dans le catch()).
D'ailleurs je vois pas trop l'interet de faire un rollback() puisque si tu vas dans le catch(), la requete ayant produit une erreur, elle est forcément annulée...
J'ai bien saisi ton pb ?...
.:morgoth:. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2005, 14h39   #4
Membre Expert
 
Avatar de Faith's Fall
 
Inscription : avril 2004
Messages : 1 763
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 1 763
Points : 1 562
Points : 1 562
[Sujet déplacer du forum C++Builder par BWP-Necromance]
__________________
Cordialement,
Faith's Fall






Faith's Fall est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2005, 15h18   #5
Invité régulier
 
Inscription : novembre 2003
Messages : 18
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 18
Points : 9
Points : 9
Effectivement le rollback sur un truc qui a provoqué une exception n'est pas tres logique....

Et je ne sais pas si elle est automatiquement annulée. Ce que je sais c'est qu'apres IBSERVER se perd et augmente de 4ko toute les seconde indefiniment...
spud19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2005, 15h20   #6
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Quelle version d'interbase utilises-tu ?
__________________
"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
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2005, 15h44   #7
Membre habitué
 
Avatar de .:morgoth:.
 
Inscription : février 2005
Messages : 124
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 124
Points : 116
Points : 116
Donc en enlevant le rollback du catch() et en gerant que des commit() qd la requete passe, ca se comporte comment ?
.:morgoth:. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2005, 15h54   #8
Invité régulier
 
Inscription : novembre 2003
Messages : 18
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 18
Points : 9
Points : 9
J'utilise interbase 6
et en ne faisant pas de de rollback dans le catch et juste des commit quand sa passe, sa ne change rien. J'ai tjs le server qui augmente indefiniment.
spud19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2005, 16h01   #9
Invité régulier
 
Inscription : novembre 2003
Messages : 18
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 18
Points : 9
Points : 9
Code :
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
ExecutionQuerry("INSERT INTO EVENEMENT (\"EVENEMENT_Id\",\"EVENEMENT_FAMILLE_Id\",\"EVENEMENT_Nom\",\"EVENEMENT_Modifiable\",\"EVENEMENT_Nom_Rc\",\"EVENEMENT_Num_Rc\") VALUES (227,50,'Contrôle','0','',735);");break;
 
        IF(result == 0)
        {
            ListeErreur->ADD(AnsiString(i));
        }
        else
        {
	IBTransaction1->Commit();
        }
 
 
void TFrmMAJ::ExecutionQuerry(AnsiString Query)
{
    try
    {
	MyQuery->SQL->Clear();
	MyQuery->SQL->ADD(Query);
	MyQuery->Prepare();
	MyQuery->ExecSQL();
    	result = 1;
    }
    catch(...)
    {
                result = 0;
    }
    RETURN;
}
spud19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h08.


 
 
 
 
Partenaires

Hébergement Web