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 :

Etrange problème, difficile solution


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2
    Par défaut Etrange problème, difficile solution
    Bonjour,
    Je réalise actuellement une migration de serveur qui s'accompagne d'une upgarde de version de PostGresSQL (7.0.3 -> 8.0.8). Il ya évidemment des petits soucis m'enfin on finit par trouver une solution. Sauf que là j'ai un gros soucis.
    Ma base initiale comporte une table nommée "analyse" et cela pose problème.
    Ainsi, il ne m'est pas possible de faire une requête de type :
    SELECT* FROM analyse
    [Message d'erreur : erreur de syntaxe sur ou près de «analyse»]
    En revanche
    SELECT * FROM "analyse"
    fonctionne.

    Cette nécessité de devoir mettre des guillemets n'est valable que pour la table "analyse". Aucun problème pour les autres tables.
    J'envisage donc de faire la modif dans les scripts, c'est-à- direr ajouter des guillemets . Mais plus j'évalue la tâche à réaliser, plus j'ai des sueurs froides. Ce n'est pas tant l'occurence d'"analyse" qui me gêne mais le fait qu'il y a de nombreuses classes et fonctions générant des requêtes (avec des trucs du genre $table) et que là ça complique sévèrement. Bref pour pas faire de bêtise je vais devoir vérifier le code sur de multiples scripts. Et la tâche se révèle himalayenne.
    Tout ça parce que le moteur PostgreSQL semble coincer sur un nom de table analyse et son emploi sans guillemets dans une requête SQL.
    Alors je me demande s'il n'y a pas une solution plus simple au problème. Une configuration de PostgreSQL ou quelque chose comme ça.
    Si vous avez des idées. Merci !

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2
    Par défaut Solution
    Ouf... Il y avait plus simple.

    Presque toutes les requêtes passent via une fonction. Je n'en avais pendant longtemps pas vu l'utilité ( juste écrire query($sql) au lieu de pg_exec($con,$sql) ), mais là, elle m'a économisé beaucoup beaucoup de crampes de clavier.

    Et voilà, un petit coup d'expression régulière et le tour est joué.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function query($sql) {
      $sql = ereg_replace(" (analyse)([\., ])"," \"\\1\"\\2",$sql);
    ...
    }

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

Discussions similaires

  1. Problème chrome, solution "span" avant doctype.
    Par kolbek dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 09/02/2010, 11h36
  2. Etrange problème lors de INSERT
    Par julien.63 dans le forum Débuter
    Réponses: 2
    Dernier message: 12/04/2009, 12h25
  3. Réponses: 1
    Dernier message: 29/09/2007, 17h01
  4. Etrange problème avec un fprintf
    Par f56bre dans le forum C
    Réponses: 14
    Dernier message: 13/01/2007, 14h27
  5. Problème difficile
    Par Nemerle dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 01/08/2005, 15h27

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