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 d'espaces dans une requête SQL


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut Problème d'espaces dans une requête SQL
    Bonjour tout le monde, j'ai un petit soucis de requete SQL, je m'explique.

    Actuellement j'ai un programme qui se connecte à une base de données oracle 9i.

    J'ai dupliquer la base à l'identique sur un autre serveur oracle 9i.

    Le soucis c'est que lorsque j'exécute mon programme en me connectant sur le deuxième serveur, les requêtes qui passaient sur le premier, échoues maintenant misérablement.

    Par exemple :

    [...] WHERE id=0ORDER BY id desc

    (pas d'espacement entre le 0 et le ORDER)

    ma question est donc :

    Y a t il un paramètre de configuration qui permet à oracle de vérifier la syntaxe et d'ajouter automatiquement des espaces entre deux tokens?

    merchi!

  2. #2
    Membre éclairé Avatar de lmartin
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Par défaut
    non il n'y a pas de paramètre pour qu'Oracle devine ce qu'il fallait écrire.
    "Dupliquer une base sur un autre serveur Oracle" tu peux expliquer stp.

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut
    Désolé c'est la premiere fois que j'installe et que je configure un serveur oracle.

    La duplication de la base est réalisé avec un fichier de dump.

    Sous toad, en me connectant sur la premiere base, j'arrive a executer cette requete (je la met en complet, mais seul l'élément souligné pose problème):

    SELECT TA_TYP_ETAT_OPE.TOPE_LIB, TA_OPERATION.OPE_DT_DEB_THEO, TA_OPERATION.OPE_DT_FIN_THEO, TA_ORDRE.ORD_ID, TA_ORDRE.ORD_NUM, TA_OPERATION.OPE_ID, TA_OPERATION.OPE_GAMME, TA_FIC_ART.FART_REF, TA_FIC_ART.FART_DESIGN, TA_OPERATION.TYP_TOPE_ID, TA_ARTICLE.ART_QTE_THEO, TA_ATELIER.ATE_LIB, TA_OPERATION.OPE_DT_DEB_THEO, TA_ARTICLE.ART_NUM_LOT FROM TA_OPERATION, TA_TYP_ETAT_OPE, TA_ORDRE, TA_ARTICLE, TA_FIC_ART, TA_ATELIER WHERE TA_OPERATION.TYP_TOPE_ID = TA_TYP_ETAT_OPE.TOPE_ID AND TA_OPERATION.ORD_ORD_ID = TA_ORDRE.ORD_ID AND TA_ORDRE.ORD_ID = TA_ARTICLE.ORD_ORD_ID AND TA_ARTICLE.FART_REF = TA_FIC_ART.FART_REF AND TA_OPERATION.ATE_ATE_ID = TA_ATELIER.ATE_ID AND (TA_OPERATION.OPE_DT_FIN is null OR to_date(TA_OPERATION.OPE_DT_FIN, 'dd/mm/yyyy') > '07/04/2008') AND (TA_ARTICLE.ART_FAB_BL = 1) AND (TA_ATELIER.ATE_ID = '71') AND TA_OPERATION.TYP_TOPE_ID = 1ORDER BY TA_OPERATION.OPE_DT_ACT

    mais cette meme requete renvoit une erreur ORA-01722 lorsque je l'execute sur le second.

    La solution serait de mettre un espace ou des ', cependant, je n'ai pas le droit de toucher à la requete, uniquement à la configuration du serveur.

  4. #4
    Membre émérite Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Par défaut
    Ta requête est fausse, tu veux qu'on y fasse quoi ?

    En gros tu vas chez peugeot et tu leur dit un truc du style : "Voilà j'ai cassé le moteur de ma voiture mais il faut que je la démarre sans changer celui-ci et surtout sans que quiconque ouvre le capot..."

  5. #5
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut
    Tu as raison,

    Mais je suis pas con non plus, si ca tenait qu'a moi, ca fait longtemps que j'aurais réécris la requête sans vous casser les couilles avec ma question débile, mais j'ai des contraintes imposées.

    En production je suis en 9.2 et en qualification je suis en 9.0. La seule solution est donc de basculer en 9.2 pour la qualification, et supputer qu'entre la version 9.0 et 9.2 il y a eu un changement dans le parser SQL qui est devenu plus souple. C'est ca?

    Merci.

  6. #6
    Membre émérite Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Par défaut
    Un peu de retenue s.v.p...

    Le seul moyen de savoir si le parser permet ce genre d'annerie en 9.0 est de faire un test basique en SQL*Plus sur chacune des deux machines et de voir le résultat.

    A contrario, la requête est fausse et la question de savoir si oui ou non le moteur permet ceci ou cela est de faire un retour SQL H.S vers les développeurs qui sont dans l'obligation d'écrire du code SQL propre. Et cela quelle que soit la société et/ou le rôle des développeurs !

    Dans tous les cas, même si il existait un paramétrage miracle permettant de faire du SQL approximatif, cela serait totalement intolérable d'un point de vue professionnel.

    Bref bats toi et joue ton rôle de DBA !

Discussions similaires

  1. problème de syntaxe dans une requête SQL
    Par nutopia dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/11/2010, 17h17
  2. Problème de variable dans une requête SQL
    Par Namzicos dans le forum SQL
    Réponses: 2
    Dernier message: 27/01/2010, 14h38
  3. Problème de variable dans une Requête SQl
    Par steph77 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/08/2009, 15h16
  4. Problème de cumul dans une requête SQL
    Par soso78 dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 13/09/2007, 05h56
  5. Problème avec like dans une requête SQL
    Par Boublou dans le forum SQL
    Réponses: 2
    Dernier message: 16/08/2007, 15h46

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