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

SAS Base Discussion :

Jointure avec caractères spéciaux


Sujet :

SAS Base

  1. #1
    Inactif  

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3 064
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 064
    Points : 4 605
    Points
    4 605
    Par défaut Jointure avec caractères spéciaux
    Bonjour,

    Je dispose d'un serveur oracle sur le quel je peux créer des tables via PL/SQL.

    Depuis PL/SQL j'ai créer des petites tables de 5 à 10 lignes avec 3 colonnes (un id , un champ libellé , un champ commentaire). Via PL/SQL les tables créés dans le serveur oracle disposent pour centaines de lignes avec une valeur accentuér .

    Exemple :
    id;libelle;commentaire
    00;éric;personne test1
    01;paul;personne test2
    02;andré;personne test3
    Via mon interface PL/SQL je vois "éric" . La même table via SAS je vois "eric" . Quand je requête j'ai une résultat sur le prénom "eric" mais pas avec "éric" ...

    C'est très étrange car j'arrive pourtant à bien garder des mots accentués si j'importe de la data depuis Excel ou CSV .

    Merci de m'aiguiller pour palier a ce problème

  2. #2
    Membre expérimenté
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Points : 1 581
    Points
    1 581
    Par défaut
    Bonjour,

    en cas de doute concernant la présence de caractères spéciaux l'analyse du contenu hexadecimal des chaînes de caractères via les formats $hexw. permet bien souvent d'y voir beaucoup plus clair.

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3 064
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 064
    Points : 4 605
    Points
    4 605
    Par défaut
    Bonjour,

    Le problème a été identifié .

    Il vient d'une problématique "NLS_LANG" .

    1) l'univers de données concerné est stocké dans Oracle avec des droits de lectures et d'écritures.
    2) les utilisateurs créent et suppriment des tables dans la base de données Oracle depuis 2 applications exclusives : PL/SQL et SAS.

    Résultat les paramètres de définitions de langues ne sont pas les mêmes que dans Oracle.

    Pour contourner le problème une seul solution :

    * normaliser la data sans accent avec tout en minuscule / majuscule.

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3 064
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 064
    Points : 4 605
    Points
    4 605
    Par défaut
    Bonjour,

    Une piste de réflexion également à explorer est celle de l'encodage de votre base de données.

    Pour faite un seul programme libname et lancez cette requête :

    Code SAS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    proc options option=encoding; 
     
    run ;

    Contrôlez l'encodage de l'univers de données en question via votre journal . Si c'est un UTF8 , LATIN9 ...

  5. #5
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    Juillet 2013
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ArchiDuc de la Sasserie
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 439
    Points : 1 017
    Points
    1 017
    Billets dans le blog
    4
    Par défaut
    Salut,
    Si les gens accèdent au travers de Guide par exemple, il suffit de paramétrer l'accès à Oracle du serveur SAS correctement.
    Sur le compute tier, le client Oracle doit être paramétré en fr_FR, par exemple, et là les données apparaitront correctement.
    Ça se fait soit dans l'installation SAS directement, soit dans le profile du user qui lance le serveur (export NLS_LANG dans le .profile ou le .bash_profile).

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3 064
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 064
    Points : 4 605
    Points
    4 605
    Par défaut
    Bonjour,

    J'ai eu un retour de SAS a ce sujet :

    > pour un environnement de "production" avec des tables en "read only" le paramétrage de l'encodage et du transcodage des accents se fait dans le serveur SAS. La pas de soucis il est possible de laisser les accents.

    > pour un environnement de "travail" avec des tables en "read write" le paramétrage de l'encodage est sujet à changement du fait que l'utilisateur puisse se retrouver a créer du latin9 au lieu de l'utf8, ou encore a triturer des fichiers . Dans ce cas si l'utilisateur ne sait pas d'avance que son univers est dans un encodage différent et qu'il utilise un autre avec ces requêtes.

    Le conseil de SAS > bannir les caractères spéciaux (é,à,è ... ) et rester sur du A-Z , a-z , 0-9 . Penser également à "normaliser" ces données avec de la majuscule ou de la minuscule .

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

Discussions similaires

  1. [DOM] Erreur parser fichier xml avec caractère spéciaux
    Par turcotm dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 19/06/2006, 09h01
  2. [MySQL] Problèmes avec caractères spéciaux
    Par brokengillou dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/04/2006, 17h02
  3. recupérer GET avec caractères spéciaux
    Par masseur dans le forum Langage
    Réponses: 11
    Dernier message: 03/01/2006, 11h37
  4. [RegEx] chaîne de caractères avec caractères spéciaux
    Par Kerod dans le forum Langage
    Réponses: 9
    Dernier message: 25/12/2005, 01h40
  5. Réponses: 3
    Dernier message: 11/10/2004, 17h26

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