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

SQL Oracle Discussion :

Problème ODBC Oracle


Sujet :

SQL Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Problème ODBC Oracle
    Bonjour,

    Je lance une requête SQL via ADODB dans un code VB (Excel), or la requête qui suit ne me remonte plus rien dés l'instant où j'ajoute la condition
    AND (to_number(AUDIT_LOG.AU_ENTITY_ID)>20) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT
       to_number(AUDIT_LOG.AU_ENTITY_ID),
       AUDIT_PROPERTIES.AP_FIELD_NAME, 
       AUDIT_LOG.AU_TIME,
    FROM
       XXXXX_DB.AUDIT_LOG INNER JOIN  XXXXX_DB.AUDIT_PROPERTIES ON XXXXX_DB.AUDIT_LOG.AU_ACTION_ID = XXXXX_DB.AUDIT_PROPERTIES.AP_ACTION_ID
    WHERE
       AUDIT_PROPERTIES.AP_FIELD_NAME='BG_STATUS'   
    AND (to_number(AUDIT_LOG.AU_ENTITY_ID)>20)
    ORDER BY
       to_number(AUDIT_LOG.AU_ENTITY_ID), AUDIT_LOG.AU_TIME
    J'ai essayé toutes sortes de combinaisons, de fonctions (convert, cast,..) rien n'y fait, dés que j'ajoute la condition '>' la requête ne remonte plus rien.

    Si quelqu'un avait un idée cela pourrait m'aider considérablement et je l'en remercie par avance.

    Claude Barbier

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Votre colonne AUDIT_LOG.AU_ENTITY_ID ne serait-elle pas déjà un nombre ?
    Si c'est le cas, il faut enlever le to_number().

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Non, il s'agit d'un varchar.
    La requete fonctionne correctement sans la clause AND (to_number(AUDIT_LOG.AU_ENTITY_ID)>20).

    J'ai l'impression qu'il y a un problème propre au driver Oracle/ODBC.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Un requete plus simple ne remonte toujours rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT   
       AUDIT_LOG.AU_ENTITY_ID,
       AUDIT_PROPERTIES.AP_FIELD_NAME
    FROM
       TMN_REDBOX_DB.AUDIT_LOG INNER JOIN TMN_REDBOX_DB.AUDIT_PROPERTIES ON TMN_REDBOX_DB.AUDIT_LOG.AU_ACTION_ID = TMN_REDBOX_DB.AUDIT_PROPERTIES.AP_ACTION_ID
    WHERE
    AUDIT_LOG.AU_ENTITY_ID>0
    Si je retire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WHERE
    AUDIT_LOG.AU_ENTITY_ID>0
    alors ça marche.

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Pouvez-vous exécuter la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT SUBSTR(AU_ENTITY_ID, 1, 1) as T, count(*)
    FROM TMN_REDBOX_DB.AUDIT_LOG
    GROUP BY SUBSTR(AU_ENTITY_ID, 1, 1)
    Edit : Je viens de lire votre second sujet.
    Est-ce vraiment plus facile de mettre un peu d'informations dans différents sujets plutôt que tout au même endroit ?

    La réponse d'Oracle est claire, votre champ AU_ENTITY_ID ne contient pas que des chiffres et n'arrive donc pas à convertir cette colonne en nombre.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Tout d'abord, merci pour votre aide.

    Voici le résultat de la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    T	COUNT(*)
    1	21097
    3	9460
    6	2836
    8	1649
    5	2801
    7	2347
    9	1426
    2	12812
    4	4012
    l	1
    n	1

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 81
    Points
    81
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select to_number('n') from dual;
    ORA-01722: Nombre invalide

Discussions similaires

  1. [11g] Problème ODBC Oracle
    Par i.chafai dans le forum Installation
    Réponses: 1
    Dernier message: 23/05/2013, 11h01
  2. Problème ODBC Oracle 10g
    Par Poulki dans le forum Connexions aux bases de données
    Réponses: 1
    Dernier message: 13/01/2011, 12h26
  3. Problème de connexion ODBC Oracle
    Par Nary dans le forum Connexions aux bases de données
    Réponses: 0
    Dernier message: 30/01/2008, 15h20
  4. Problème Odbc pour Oracle
    Par islande dans le forum Modélisation
    Réponses: 2
    Dernier message: 14/11/2007, 09h42
  5. Problème avec les paramètres date BDE/ODBC Oracle/XP Pro
    Par Bloon dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/10/2004, 10h09

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