Odbc et case sensitive

[o.o]REplay Messages postés 381 Date d'inscription   Statut Membre -  
[o.o]REplay Messages postés 381 Date d'inscription   Statut Membre -
Bonjour,

j'utilise odbc pour me connecter à une base de donnée sur un serveur "distant".

Tout marche bien, sauf à la réception de mes résultats.
Je m'explique, je voudrai faire celà :

while($array=odbc_fetch_array($result))
{
    echo $array['nomColonne'];
}


celà ne marche pas, sauf si je met en majuscule:
echo $array['NOMCOLONNE']; 


J'ai bien essayé dans ma requête de faire un "select nomcolonne as autrenom", mais même problème: "autrenom" doit être en majuscule, sinon j'obtiens un Notice: Undefined index :(

Merci d'avance pour votre aide :)

(note: mon dsn est bien définit, etc... car j'obtiens bien des résultats de la requête (= )
--
~• Coin Coin •~
replay.homeunix.com
Configuration: Windows XP
Firefox 3.0

2 réponses

  1. sandul Messages postés 4013 Statut Membre 723
     
    Salut,

    case sensitive ou pas: paramètre au niveau de la base de données, non? Quelle DB utilises-tu?

    ++
    0
    1. [o.o]REplay Messages postés 381 Date d'inscription   Statut Membre 28
       
      Yop,

      J'utilise Oracle.

      Mais je ne peux modifier cette base, car elle se situe sur un autre serveur :/

      Je viens de faire des tests avec du mysql sur une table locale, si je fais un "select colOnNe from..."
      je dois utiliser $array['colOnNe'] et non colonne ou COLONNE.
      Tu penses que c'est oracle qui force à utiliser les majuscules? ou ODBC?
      0
      1. sandul Messages postés 4013 Statut Membre 723 > [o.o]REplay Messages postés 381 Date d'inscription   Statut Membre
         
        Yup, ça vient probablement d'Oracle. Le plus simple c'est de se connecter à Oracle avec un client (sqlplus ou autre); essaie de faire des select pour voir ce que ça donne.

        Si Oracle est case sensitive: essaie par la suite de faire un
        alter session set NLS_SORT=BINARY;

        et de refaire tes SELECT antérieurs dans la même sesssion. A partir d'une certaine version de la base (10g release je-ne-sais-plus-laquelle) Oracle devrait devenir subitement case insensitive (mais uniquement le temps de cette session).

        ++
        0
      2. [o.o]REplay Messages postés 381 Date d'inscription   Statut Membre 28 > sandul Messages postés 4013 Statut Membre
         
        Merci pour té réponses,

        Je vais essayer ce que tu me conseille, mais bon:
        la base Oracle en question est bien case sensitive, ça j'en suis sure, mais je ne pense pas que le problème vienne de là:
        Au contraire, vu qu'elle est case sensitive, si je demande un "select colonne as nOMcoLonNe...", le array renvoyé par odbc_fetch_array devrai être $array['nOMcoLonNe'], or là je dois utiliser $array['NOMCOLONNE'].

        Je teste ça demain.
        0
  2. [o.o]REplay Messages postés 381 Date d'inscription   Statut Membre 28
     
    J'ai abandonné l'idée de savoir d'où ça vient, je vais utiliser les noms des cases en majuscule: ça sera plus rapide et plus simple.
    Le sujet reste non-résolu pour l'instant donc.
    0