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

PostgreSQL Discussion :

[PostGreSQL] erreur 3021 + odbc


Sujet :

PostgreSQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 24
    Points : 25
    Points
    25
    Par défaut [PostGreSQL] erreur 3021 + odbc
    Bonjour,

    D'abord, j'épère que je suis sur le bon forum, sinon je suis désolé

    J'ai migré une base qui était sous SQL Server vers PostgreSQL.
    je suis en train de modifier l'appli Access qui va avec pour la faire marcher avec PostgreSQL.
    j'utilise un lien ODBC (psqlodbc) pour attaquer la base PostgreSQL.

    L'application marche maitenant presque entièrement.
    Le problème qui reste concerne les requêtes qui font des DELETE sur des enregistrements vides.
    Exemple :
    SQLBuf = "delete from maTable where num= '" & monNum & "'"
    Call SQL_ExecuteRequete(SQLBuf)

    S’il y a des enregistrements dans la table pour le numéro concerné, le formulaire s’ouvre normalement.
    S‘il n’en a pas, un message d’erreur apparaît :
    Erreur d’exécution 3021
    Aucun enregistrement en cours.

    Le lien ODBC est coupé.
    Quant je teste ma requête directement dans l'analyseur de requêtes de PostgreSQL, je n'ai pas d'erreurs qu'il y ait des enregistrements concernés ou non par le delete.

    Donc en fait, il plante quand on lui demande d'effacer des enregistrements qui ne sont pas présents !

    Une solution serait de vérifier si un enregistrement existe avant de l'effacer mais ceci représenterait pas mal de boulot étant donné qu'il y a beaucoup de requêtes de ce type

    j'aimerais savoir si c'est irrémédiable ou s'il y a un moyen de contourner le problème

    merci
    Nico

    Sujet déplacé du forum VB par Thierry AIM

  2. #2
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 318
    Points
    318
    Par défaut
    Salut,

    Pourrais-tu éclairer ma lanterne : A quel moment fais-tu ton DELETE ? avant ou après l'affichage de ton formulaire ?

    Tu devrais peut-être tout simplement testé les codes retours d'exécution de ta requête SQL pour voir si elle retourne 0 enregistrements modifiés.

    J'ai l'impression que tu veux qu'il ouvre un formulaire sur un enregistrement qui n'existe pas... ou alors j'ai pas bien compris....

    A suivre....

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    C'est une appli que je reprend donc je ne la connais pas trop.

    quand j'appelle un formulaire, cela appelle une procédure qui fait un delete sur une table pour la "purger" afin qu'il n'y ait pas de conflits dans le formulaire.
    Après l'exécution de la requête le formulaire s'ouvre.
    c'est un exemle parmis tant d'autres mais ça peut être le contraire.
    c'est à dire cliquer sur un bouton pour quitter un formulaire. Cela appelle une procédure qui contient une requête qui vide ou met à jour une table. Ensuite on revient au menu.

    Visiblement c'est le même problème pour les UPDATE.

    C'est tout ce que je peux préciser pour l'instant, je ne suis plus au boulot
    Plus de détails demain

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    C'est une appli que je reprend donc je ne la connais pas trop.

    quand j'appelle un formulaire, cela appelle une procédure qui fait un delete sur une table pour la "purger" afin qu'il n'y ait pas de conflits dans le formulaire.
    Après l'exécution de la requête le formulaire s'ouvre.
    c'est un exemle parmis tant d'autres mais ça peut être le contraire.
    c'est à dire cliquer sur un bouton pour quitter un formulaire. Cela appelle une procédure qui contient une requête qui vide ou met à jour une table. Ensuite on revient au menu.

    Visiblement c'est le même problème pour les UPDATE.

    C'est tout ce que je peux préciser pour l'instant, je ne suis plus au boulot
    Plus de détails demain

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur "3021" pilote odbc
    Par carterjr dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/06/2015, 13h55
  2. PostgreSQL->Excel via ODBC: majuscule/minuscule
    Par Ol.Geez dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/06/2006, 16h40
  3. [PostgreSQL] erreurs dont je ne trouve pas l'origine
    Par flo78 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 20/01/2006, 13h38
  4. [PHP et PostgreSQL] erreur de pg_exec mais requete valide
    Par guipom dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 25/03/2005, 19h03
  5. Erreur Pilote ODBC sur pages ASP
    Par zouritte dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2004, 13h42

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