SAS

Les logiciels et les services qui vous donnent le pouvoir de savoir

ActualitéEvènementsSupport ClientsFormationAcademicEmploisContact
Accueil Produits et Solutions références Partenaires Services La Société www.sas.com
 
Support Clients
Fonctionnement
Assistance personnalisée
Contacter le Support
FAQ
Newsletter SAS France
Documents techniques
Ressources en ligne
Correctifs
 

SAS/ACCESS®

QUESTIONS

- Pourquoi et que faire quand une bibliothèque déclarée avec un moteur Oracle, DB2, Sybase ou Informix est vide ? Réponse
- Où se trouve l'interface interactive SAS/Access dans les versions 8 et supérieures ? Réponse
- A t-on accès depuis SAS/Access to DB2 aux "synonymes" des tables DB2 ? Réponse
- Comment accéder à MySQL depuis SAS ? Réponse
- Est-il possible d’utiliser des fichiers Microsoft Office avec SAS sous Unix ? Réponse
- Est-il possible de créer plusieurs feuilles dans un classeur Excel ? Réponse
- Comment mettre à jour une table d’une base MS Access ? Réponse



REPONSES

Pourquoi et que faire quand une bibliothèque déclarée avec un moteur Oracle, DB2, Sybase ou Informix est vide ?

Il est possible que le compte Oracle, DB2 ou Sybase (par exemple) utilisé pour la connexion ne soit pas le propriétaire de ces tables ; il a seulement des droits (en lecture, écriture ou/et mise à jour) donnés par le propriétaire des tables ou par le DBA.

Dans ce cas vous devez utiliser l’option « schema =nom_schema », où nom_schema est le nom du compte Oracle, DB2, Sybase ou Informix propriétaire des tables.

Exemple de déclaration de bibliothèque Oracle :

libname lib_ora1 oracle user=scott orapw=tiger schema=frauser;

Cette information est détenue par l'administrateur de la base de données, ou peut être trouvée via l'interface SQL Query Window de SAS :

1- Exécuter la commande Query.
2- Cliquer sur Tools > Switch access mode > Oracle (ou autre SGBD)
3- Renseigner les champs nécessaires dans l'écran.
Dans la fenêtre " Available tables ", les tables seront alors affichées sous la forme SCHEMA.TABLE.



Retour Haut

Où se trouve l'interface interactive SAS/Access dans les versions 8 et supérieures ?

La procédure ACCESS existe toujours en v8 pour des raisons de compatibilité, mais la fenêtre correspondante n'est plus disponible.
Pour accéder à des données DB2, Oracle ou autre avec SAS/Access 8, il faut utiliser de préférence un LIBNAME, ou la fonctionnalité SQL Pass-Through.



Retour Haut

A t-on accès depuis SAS/Access to DB2 aux "synonymes" des tables DB2 ?

Les synonymes DB2 sont accessibles au travers d'un « libname » DB2, de la même manière que les tables ou les vues.

libname test db2 in='database.tabspace';
proc print data=test.syn1;
run;

Par contre, ces synonymes ne sont pas visibles dans l'explorateur SAS, ni via une PROC DATASETS.
Un contournement possible est d'afficher les synonymes en utilisant la fonctionnalité SQL Pass-through et en interrogeant les tables système DB2 :

proc sql;
  connect to db2;
  select * from connection to db2
   ( select * from sysibm.syssynonyms
        where tbcreator = 'USERID' );

quit;



Retour Haut

Comment accéder à MySQL depuis SAS ?

Avec SAS 8.2, pour accéder à des bases MySQL, il faut disposer du module SAS/ACCESS to ODBC. SAS s’appuie sur le pilote ODBC de MySQL qui doit donc être installé et configuré au préalable sur la machine. Une fois cette étape réalisée, il suffit de soumettre une instruction libname dans SAS.
Exemple : libname biblio odbc user=*** password=*** datasrc='....';

A partir de SAS 9.1.2, un accès natif à MySql est proposé. Cette nouveauté est documentée à la fin de la page suivante : http://support.sas.com/software/91x/acreldbwhatsnew900.htm.



Retour Haut

Est-il possible d’utiliser des fichiers Microsoft Office avec SAS sous Unix ?

En SAS V8, non, car SAS ne reconnaît que les fichiers CSV (fichier texte).
En SAS9, l’utilisation de fichiers Microsoft Office est possible à travers le module SAS/ACCESS to PC File formats. Plus d’informations à ce sujet sont disponibles dans l’article d'Allô support 15

Retour Haut

Est-il possible de créer plusieurs feuilles dans un classeur Excel ?

Oui, à compter de SAS 9, en utilisant le module SAS/Access to PC File Formats. Il existe deux solutions :

- Utiliser le moteur Excel, dans une instruction libname.
Voici un exemple de syntaxe :

libname myxls excel 'c:\temp\mon_classeur.xls';
data myxls.b; /* b est le nom de la feuille Excel créée */
set sashelp.class;
run;

- Utiliser la procédure Export, dont le comportement a été modifié par rapport aux versions précédentes.
Voici un exemple de syntaxe :

proc export data=sashelp.air outfile='c:\temp\mon_classeur.xls';
run;

Et un tableau listant les différences entre la version SAS 9 et les précédentes, selon que le fichier Excel spécifié existe déjà ou non :

  Outfile = un nouveau fichier Excel Outfile = un fichier Excel existant
Avant SAS 9 Le fichier Excel est créé, avec une feuille portant le nom de la table SAS. La procédure Export échoue (fichier excel non créé) sauf si l’option replace est utilisée (le fichier est alors écrasé)
Avec SAS 9 Le fichier Excel est créé, avec, par défaut, une feuille portant le nom de la table SAS. Le nom de cette feuille est paramétrable, en utilisant l’instruction sheet= Le fichier Excel est mis à jour : une nouvelle feuille est créée. Par défaut, elle porte le nom de la table, mais peut être changée en utilisant l’instruction sheet=



Retour Haut

Comment mettre à jour une table d’une base MS Access ?

La solution que nous présentons ici utilise une nouveauté de SAS 9 : le moteur ACCESS. Elle consiste à :

  • définir une bibliothèque pointant sur une base MS Access, comme suit :
    libname libacc access path='c:\mabase.mdb';
  • puis à mettre à jour une table de la base ‘mabase.mdb’. Supposons qu’elle s’appelle ‘test’, avec les données contenues dans une table SAS, ‘ajout’ dans notre exemple. La procédure utilisée est la proc append.

    proc append base=libacc.test data=ajout;
    run;



Retour Haut

Customer Support Center
Correctifs
SAS notes
Documentation
Install Center
Forums de discussion
Demandes d’améliorations

Contactez-nous

Le support est accessible du lundi au vendredi de 9h00 à 17h30 (17h00 le vendredi).

• par e-mail : support@sas.com
• par téléphone : 01 60 62 12 12

Pour toute remarque sur le support : tcsfaq@fra.sas.com
The Power to Know
 Recherche   Données Personnelles   Mentions légales   Privacy Statement   Copyright 2008 SAS Institute Inc. All Rights Reserved