IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

PB procedure stockée


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 206
    Par défaut PB procedure stockée
    bonjour à tous,

    j'ai un problème avec une procédure stockée dont voici son code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE PROCEDURE dbo.UpdateDocLigne_CodeAffaire @CA varchar, @NumPiece varchar
     
     AS
    SET ARITHABORT ON
     
     
    UPDATE dbo.F_DOCLIGNE 
    SET dbo.F_DOCLIGNE.CA_Num  = @CA 
    WHERE dbo.F_DOCLIGNE.DO_Piece =  @NumPiece
    GO
    Lorsque je l'execute sous l'analyseur de requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    exec dbo.UpdateDocLigne_CodeAffaire '4001', 'D0806080'
    il me dit que la commande a réussi. Mais rien ne s'est passé.


    Mon but est d'appeler cette procédure depuis un langage de programmation, en l'occurrence Windev, mais j'ai un message d'erreur.
    C'est pourquoi je l'ai testé directement sous l'analyseur de requete.

    Merci

  2. #2
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    Quel est le message d'erreur dans Windev ?
    Comment sais-tu que la commande réussit ? As-tu un nombre de lignes affectées en retour dans les messages de l'analyseur de requêtes ? Y a-t-il des déclencheurs sur cette table ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 206
    Par défaut
    Bonjour,
    lorsque j'execute la procedure sur l'analyseur de requete il ne dit pas que N lignes ont été modifiées.
    mais juste : la commande à réussi.

    quand je vérifie ma table >> j'ai aucune modif.

    au début je pensé que mon pb venait de l'appel depuis Windev
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SI PAS SQLExec(" UpdateDocLigne_CodeAffaire '4001' , 'D0806081' " , "REQSQLSERVER") ALORS
    		////	 Échec de la requête : affichage d'un message explicatif
    		SQLInfoGene("REQSQLSERVER")
    		Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
    	FIN
    	SQLFerme("REQSQLSERVER")
    qui me donne l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Erreur 170129 dans la requete
    echec de l'ouverture du fichier
     
    Description = une opération OLE-DB en plusieurs étapesà généré des erreurs. Vérifiez chaque valeur d'état OLE-DB disponible.....
    c'est pourquoi j'ai testé directement sur l'analyseur de requete.

    par contre lorsque j'execute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE dbo.F_DOCLIGNE 
    SET dbo.F_DOCLIGNE.CA_Num  = '4002' 
    WHERE dbo.F_DOCLIGNE.DO_Piece =  'D0806081'
    commit
    sur l'annalyseur de requete ça marche

    Merci de votre aide s'est URGENT !

    au fait il y a un trigger :
    que j'ai désactiver pour mes tests (sur une base de test bien sur) de la façon suivante
    alter table f_docligne enable trigger TG_UPD_CPTAF_DOCLIGNE

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 565
    Par défaut
    alter table f_docligne enable trigger TG_UPD_CPTAF_DOCLIGNE
    Ah non, là au contraire tu active ton déclencheur, c'est plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE F_DOCLIGNE DISABLE TRIGGER TG_UPD_CPTAF_DOCLIGNE

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 206
    Par défaut
    Oui pardon c'est le code que je viens de taper ce matin.
    Sinon s'était bien
    DISABLE
    A+

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Par défaut
    Coucou,
    Ce qui me chiffone dans la déclaration de ta ps c'est le type des données varchar, moi j'aurai plutot mis varchar(N) N étant la taille du champ que je ne connais pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE PROCEDURE dbo.UpdateDocLigne_CodeAffaire @CA varchar(N), @NumPiece varchar(M)
     
     AS
    SET ARITHABORT ON
     
     
    UPDATE dbo.F_DOCLIGNE 
    SET dbo.F_DOCLIGNE.CA_Num  = @CA 
    WHERE dbo.F_DOCLIGNE.DO_Piece =  @NumPiece
    GO
    Remplace N et M par les valeurs appropriées.
    Cordialement
    Soazig

Discussions similaires

  1. Ecriture d'une procedure stockée XP
    Par WOLO Laurent dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/07/2003, 13h09
  2. Réponses: 1
    Dernier message: 04/06/2003, 11h48
  3. procedure stockée champ date
    Par tripper.dim dans le forum SQL
    Réponses: 5
    Dernier message: 25/04/2003, 09h47
  4. Appel a une procedure stockée en vba
    Par The_Nail dans le forum VBA Access
    Réponses: 36
    Dernier message: 01/04/2003, 16h44
  5. procedure stockée dans un dbbatch
    Par pram dans le forum XMLRAD
    Réponses: 4
    Dernier message: 07/02/2003, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo