1. #1
    Nouveau membre du Club
    Homme Profil pro
    dataminer
    Inscrit en
    juin 2015
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : dataminer

    Informations forums :
    Inscription : juin 2015
    Messages : 38
    Points : 32
    Points
    32

    Par défaut Affichage de tables trop longues

    Bonjour à tous,

    petits soucis technique sur sas. J'ai l'informatique de ma boîte qui a mis des tables sas dans une librairie sur le serveur, mais le nom de ces tables dépassent les 32 caractères. Du coup, impossible de les voir, et quand je code dessus, il me met ça :

    proc sql;
    create table essai as
    select *
    from dwhdwh.dim_devis_detail_nature_constructeur
    ____________________________________
    65
    ERROR 65-58: Name 'DIM_DEVIS_DETAIL_NATURE_CONSTRUCTEUR' is too long for a SAS name in this context.

    Il est impossible pour l'informatique de changer le nom de la table car trop galère à changer partout ailleurs.

    Apparemment, il est possible de forcer l'affichage des tables avec plus de 32 caractères, mais j'ignore comment. Quelqu'un saurait comment procéder svp ? Je suis sur SEG 7.1, 64 bits.

    Merci et bonne année

  2. #2
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    juillet 2011
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2011
    Messages : 360
    Points : 931
    Points
    931
    Billets dans le blog
    9

    Par défaut

    Bonjour,
    Juste une idée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    data DM_DDNCONSTRUCTEUR;
    set dwhdwh.'DIM_DEVIS_DETAIL_NATURE_CONSTRUCTEUR'n;
    run;
    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    dataminer
    Inscrit en
    juin 2015
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : dataminer

    Informations forums :
    Inscription : juin 2015
    Messages : 38
    Points : 32
    Points
    32

    Par défaut

    malheureusement, non ça ne marche pas.

    24 data essai;
    25 set dwhdwh.'dim_devis_detail_nature_constructeur'n;
    ______________________________________________
    307
    ERROR 307-185: The data set name cannot have more than 32 characters.

    26 run;

    Personne n'a une autre idée ? :/

  4. #4
    Membre régulier
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    novembre 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : novembre 2017
    Messages : 64
    Points : 84
    Points
    84

    Par défaut

    Bonjour,

    La limitation des noms des tables SAS ne concerne pas les fichiers d'input. Il vous est donc possible de déclarer une table SAS non-importée avec un nom supérieur à 32 caractères puis de l'importer à l'aide d'un datastep.

    VOus pouvez ainsi créer un filename :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FILENAME IN '/monpath/DIM_DEVIS_DETAIL_NATURE_CONSTRUCTEUR.wpd';
    Puis lire le fichier dans un datastep :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    data matable;
       infile in;
       input mavar1 mavar2;
    run;
    L'inconvénient est que vous créez une nouvelle table à chaque fois ce qui peut être très contraignant en terme d'espace disque sur votre serveur.
    Je ne connais pas de méthode qui vous permettrait de vous en affranchir sans modifier au préalable les noms des tables par votre service informatique.

  5. #5
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    juillet 2011
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2011
    Messages : 360
    Points : 931
    Points
    931
    Billets dans le blog
    9

    Par défaut

    Bonjour,
    Est-ce qu'il y a des données dans la table dwh avec cette requête ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    proc sql noprint;
    create table dwh as select memname
    from sashelp.vtable
    where upcase(LIBNAME) ="DWHDWH"  ;
    quit;
    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    dataminer
    Inscrit en
    juin 2015
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : dataminer

    Informations forums :
    Inscription : juin 2015
    Messages : 38
    Points : 32
    Points
    32

    Par défaut

    Bonjour,

    @m.brahim : oui j'ai bien des tables et des view sur cette librairie.

    @JQuem : comment fais-tu pour connaître le chemin qui amène aux tables dans une librairie sur un serveur ? quand je regarde les propriétés de la librairie dwhdwh je vois "Emplacement : / Chemin/ ..." mais je n'ai pas le début... quand je mets juste ce chemin, SAS me rajoute le répertoire D au début, mais il me dit que le fichier physique n'existe pas. J'ai essayé en rajoutant tous les répertoires que j'ai à disposition mais rien à faire.

    Merci

  7. #7
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    juillet 2013
    Messages
    407
    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 : 407
    Points : 977
    Points
    977
    Billets dans le blog
    4

    Par défaut

    Salut,
    Est-ce que la bibliothèque est SAS ou un autre SGBD? Si c'est du SAS, on n'aura la possibilité que de renommer les fichiers sas7bdat pour qu'ils fassent moins de 32. Si ce sont des tables d'un autre SGBD, il suffit de créer des vues avec un nom moins long qui pointent sur les tables, de faire les grant correspondants sur les vues et puis voilà.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    dataminer
    Inscrit en
    juin 2015
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : dataminer

    Informations forums :
    Inscription : juin 2015
    Messages : 38
    Points : 32
    Points
    32

    Par défaut

    Hello,

    voici ce que je vois. Pour moi, ce sont des tables sas. DOnc la seule chose à faire serait de les renommer ? ...

    Nom : dwh.PNG
Affichages : 37
Taille : 17,5 KoNom : dwh2.PNG
Affichages : 37
Taille : 19,8 Ko

    Merci.

  9. #9
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    juillet 2013
    Messages
    407
    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 : 407
    Points : 977
    Points
    977
    Billets dans le blog
    4

    Par défaut

    Salut,
    Non, ce ne sont pas des tables SAS. Si tu regardes les caractéristiques de ta bibliothèque, tu verras que le moteur est ODBC, ce qui veut dire n'importe quelle base en fait, sauf SAS...
    Si la bibliothèque est définie par code, il faut regarder sur quoi ça pointe dans le libname, sinon c'est dans la SMC que ça a été défini. Demande aux gens qui l'ont définie, cette bibliothèque, et alors de créer des vues comme je te l'ai dit. Tu les verras alors dedans, et il n'y aura plus qu'à les utiliser.
    Fastoche

    [edit] "dbo" est un username assez courant sur SQL Server. Je ne serais pas étonné que la base soit du MS SQL Server en fait...[/edit]

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    dataminer
    Inscrit en
    juin 2015
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : dataminer

    Informations forums :
    Inscription : juin 2015
    Messages : 38
    Points : 32
    Points
    32

    Par défaut

    Ok merci, je vais voir avec eux pour faire ça.

    Merciiii

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

Discussions similaires

  1. [OpenOffice][Texte] Lignes trop longues dans une table des matières
    Par Gaillac dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 15/08/2011, 12h10
  2. Lecture trop longue d'une table Access
    Par Orthonic dans le forum VB.NET
    Réponses: 5
    Dernier message: 05/11/2007, 12h56
  3. [TP]Probleme de ligne trop longue
    Par poppels dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 24/09/2004, 06h36
  4. [Dump][PHPmyAdmin] table trop grosse???
    Par Slein dans le forum Administration
    Réponses: 3
    Dernier message: 03/06/2004, 23h04
  5. chaine trop longue pour envoyer en socket?
    Par jeje.r dans le forum C++Builder
    Réponses: 10
    Dernier message: 27/06/2003, 16h36

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