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 18/10/2007, 11h41   #1
Futur Membre du Club
 
Inscription : décembre 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 56
Points : 16
Points : 16
Par défaut [ASE]Récupération du canal d'erreur

Bonjour,

J'utilise un EAI WebSphere Transformation Extender ( anciennement Mercator ) qui permet d'intégrer une fonction personnalisée. je souhaite ainsi implémenter une fonction ( En C ou Java ) me permettant de récupérer les informations du retour d'erreur d'un appelle à une procédure stockée sybase ainsi que les valeurs en ouput. Cela donne ceci pour la définition de la procédure stockée :

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
 CREATE procedure import( @ val1 int IN,
                                  @ val1 char(8) IN, 
                                  @co_wtx_raiserror int OUT,
                                  @lb_wtx_raiserror int OUT,
                                  @id_wtx_niv_raiserror int OUT)
BEGIN
 
INSERT INTO TEST
SELECT 1,'insertion dans table test 1'
SELECT @error=@@error
 
IF @error > 20000
Begin
   /*Erreur Fonctionnelle*/
  SELECT @co_wtx_raiserror=@error
  SELECT @lb_wtx_raiserror='Erreur lors de l'insertion de la donnée 12542   Comptable car elle existe '
  Select @id_wtx_niv_raiserror=3
 
  /* Mise à jour de la table des erreurs */
  Raiserror  @co_wtx_raiserro,@lb_wtx_raiserror,@id_wtx_niv_raiserror
End
 
/* Les autres instructions doivent s'exécuter malgrés cette erreure */
/*.................
 ................
*/
RETURN @error
 
END
 
 
END
L'appel de la procedure ce fait par import(2,'TOTO')

Ainsi je souhaiterais récupérer ( utilisation ODBC ou connecteur Sybase natif ) la valeur du return @erreur et les valeurs @co_wtx_raiserror,@lb_wtx_raiserror,@id_wtx_niv_raiserror qui sont des valeurs en argument ouput de la procédure stockée.

Merci pour votre aide
benoxy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 11h55   #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
Code :
1
2
3
4
5
6
7
8
9
declare @err int, @p1 int, @p2 int, @p3 int
 
exec import @val1=2,
                 @val2='TOTO',
                @co_wtx_raiserror=@p2 out, 
                @lb_wtx_raiserror=@p3 out,
                @id_wtx_niv_raiserror =@p4  out
 
SELECT @@error , @p2, @p3, @p4
__________________
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 18/10/2007, 12h25   #3
Futur Membre du Club
 
Inscription : décembre 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 56
Points : 16
Points : 16
Par défaut Recupération canal Erreur Sybase

Dans WTX j'appelle la procedure comme cela :
Target : DATABASE
Commande : -DBNAME bd1 -PROC import(2,'TOTO')

Je ne souhaite pas remontée les valeurs par le canal des données mais un autre canal qui sera dédié à cette effet. La solution proposée peux me bloquer si je dois faire une sélection sur des données.
Citation:
Envoyé par fadace Voir le message
Code :
1
2
3
4
5
6
7
8
9
declare @err int, @p1 int, @p2 int, @p3 int
 
exec import @val1=2,
                 @val2='TOTO',
                @co_wtx_raiserror=@p2 out, 
                @lb_wtx_raiserror=@p3 out,
                @id_wtx_niv_raiserror =@p4  out
 
SELECT @@error , @p2, @p3, @p4
benoxy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 13h21   #4
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
A ce moment, supprime tes variables d'output et transferts les données au travers de la SP dans une table... tu pourras ensuite récupérer lesdites valeurs quand bon te semble.
__________________
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 15/01/2008, 15h20   #5
Futur Membre du Club
 
Inscription : décembre 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 56
Points : 16
Points : 16
Citation:
Envoyé par fadace Voir le message
A ce moment, supprime tes variables d'output et transferts les données au travers de la SP dans une table... tu pourras ensuite récupérer lesdites valeurs quand bon te semble.
Merci pour ta réponse et bonne année 2008.
benoxy 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 11h24.


 
 
 
 
Partenaires

Hébergement Web