Précédent   Forum des professionnels en informatique > Bases de données > Sybase > Adaptive Server Enterprise
Adaptive Server Enterprise Forum d'entraide concernant Sybase Adaptive Server Enterprise, le dataserver phare de Sybase
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 19/01/2007, 17h38   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 28
Points : 0
Points : 0
Par défaut [ASE 12.5.4] problème de procédure

bonjour,

Mon problème est le suivant :

j'ai une procédure que j'utilise avec ASE 12.5.0 qui fonctionne correctement.
je la compile sur une version 12.5.4 pas de problème et quand je la lance j'ai l'erreur suivante :

Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRAN is missing. previous count = 1, current count = 0.

Je précise que cette procédure n'a pas ce probleme en ASE 12.5.0, elle fonctionne tres bien dans le meme cas de figure que lorsque je la lance sous ASE 12.5.4 .

Merci.
Cordialement.
kei-kun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2007, 20h55   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
peut-être un check supplémentaire afin d'éviter les transactions ouvertes.

On peut voir le code de la SP ainsi que l'erreur complète (y.c. no) ?
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 09h37   #3
Invité de passage
 
Inscription : novembre 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 28
Points : 0
Points : 0
je n'ai pas de transaction ouverte sinon j'ai directement un message d'erreur me disant qu'il n'est pas possible d'exécuter la procédure avec une transaction d'ouverte.

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
29
30
31
32
33
34
35
36
37
38
39
40
 
IF EXISTS(SELECT name
           FROM sysobjects
           WHERE name='U_Niveau3NDL'
           AND type='P')
  DROP Procedure U_Niveau3NDL
go
 
CREATE Proc U_Niveau3NDL
AS
  Begin
 
DECLARE ...
 
...
 
 
GTRAN:
IF @TranOuverte = 0
    IF @erreur = 0
        COMMIT TRAN
    ELSE
        ROLLBACK TRAN
 
IF (@@nestlevel = 1 AND @erreur != 0)
    SELECT @Msg = "SQLERR (procédure U_Niveau3NDL)"
ELSE
    SELECT @Msg = "SQLOK"
 
-- Affichage du message indiquant si la procédure s'est bien déroulée
PRINT @Msg
 
RETURN @erreur
END
 
GO 
 
IF (@@error=0) PRINT "[RB1003] Creation of the procedure 'U_Niveau3NDL' SUCCEEDED."
ELSE           PRINT "[RB1003] Creation of the procedure 'U_Niveau3NDL' FAILED!"
GO

voila les seul endroit où sa traite de transaction (je met pas le reste la procédure fait plus de 1200 lignes).
kei-kun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 09h42   #4
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
En fait le code que tu as posté ne traite pas de transaction.

Est-ce qu'il y a un BEGIN TRAN quelque part dans la proc ?
Si oui, est-ce que les COMMIT et/ou ROLLBACK sont bien là?

Est-ce que le message arrive lorsque tu charges la proc, ou quand tu l'exécutes?

Michael
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 14h00   #5
Invité de passage
 
Inscription : novembre 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 28
Points : 0
Points : 0
bon j'ai réussi à trouver le problème , en fait cela venait d'une proc que j'appellait à meme la proc est qui ne gérait pas les transaction ( pas de gestion d'erreur).

Merci michael pour ton aide
kei-kun 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 17h49.


 
 
 
 
Partenaires

Hébergement Web