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

WinDev Discussion :

Oracle via ODBC et fetch partiel


Sujet :

WinDev

  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut Oracle via ODBC et fetch partiel
    Bonjour à tous,

    Je suis face à un phénomène que je n'explique pas...

    Je travaille sur programme qui attaque un base Oracle (12c) via un lien OBDC et les instructions SQL*.

    Une de mes requêtes devrait retourner 40 enregistrements, ce que je vérifie avec PLSQL Developper mais dans le contexte "Windev", la requête ne retourne que 18 enregistrement (c'est exactement la même requête en utilisant le même user, la seule différence se situe au niveau de la connexion puisque PLSQL Dev ne passe pas par OBDC). J'avoue que je ne comprends pas.... et que j'ai plus d'idée !

    Avez-vous déjà constater ce genre de phénomène ? Auriez vous une idée de piste ?

    Merci d'avance et bonne journée !
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 056
    Points : 9 394
    Points
    9 394
    Par défaut
    J'ai beaucoup utilisé Oracle via ODBC (pas Oracle 12 à l'époque, mais ça doit être pareil), et je n'ai jamais eu ce problème. J'ai rencontré des pièges avec la valeur NULL, pas dans les requêtes proprement dites, mais quand la requête me renvoyait la valeur NULL.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Merci pour ta réponse.
    Je vais creuser de ce coté... vu que c'est une requête pleine de left join doit y avoir du NULL à foison...
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Je peux pas mettre 2 pouces en l'air mais c'est extrêmement bien vu... le problème semble effectivement lié à la présence de valeur NULL...

    Comment as-tu feinté ?
    Perso, il m'est difficilement envisageable de faire un UPDATE puisque je travaille sur des données d'un modèle concurrent (en vue d'une extraction et d'une injection dans le notre...) et donc par principe, on évite tout UPDATE...
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    OK, j'ai trouvé une "solution" de contournement puisque le NVL, le CASE ou autre ne marchaient pas (les lignes contenant des NULLs sont.... absentes du recordset retour), j'ai contacaténé '' à chaque expression potentiellement nulle et ça marche... c'est pas beau mais bon !

    S'il existe une solution plus propre, je suis très intéressé....
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 056
    Points : 9 394
    Points
    9 394
    Par défaut
    C'est quand même surprenant.
    La requete tourne sur la machine SQL, le nombre de lignes renvoyées ne devrait pas être impacté. Les problèmes que j'avais avec le NULL, c'est dans le code Windev lui-même : si a = 1 alors ... : Ce test renvoyait vrai, alors que a contenait la valeur NULL
    Est-ce que les 28 lignes renoyées sont les 28 premières... ou alors il y a une autre logique ?

    Il faudrait que tu montres plus de choses pour avancer plus.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Il s'agit bien des 18 premiers enregistrements, sans qu'il semble y avoir de logique particulière... ce ne sont ni nécessairement ni exclusivement les lignes avec des NULL qui sautent.... Mindfuck.
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

Discussions similaires

  1. Accès en Oracle via ODBC
    Par marccollin dans le forum Accès aux données
    Réponses: 2
    Dernier message: 23/10/2007, 21h50
  2. import de données oracle via ODBC
    Par admcent dans le forum Access
    Réponses: 1
    Dernier message: 16/10/2007, 18h06
  3. [ORACLE via ODBC] - 2 problèmes
    Par pgcdn dans le forum Access
    Réponses: 1
    Dernier message: 09/08/2007, 18h07
  4. Lien ORACLE via ODBC InstantClient d'Oracle
    Par sinquem dans le forum Access
    Réponses: 1
    Dernier message: 18/07/2007, 08h56
  5. [WinDev] Connexion à une BDD Oracle via ODBC
    Par Morgoth777 dans le forum WinDev
    Réponses: 2
    Dernier message: 01/12/2006, 14h34

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