5. Conclusion▲
Afin d'utiliser les procédures d'import et d'export de SAS 9.2 sur une plate-forme 64-bits, il est nécessaire de connaître les différents moteurs de connexion ainsi que leurs impacts sur les fichiers de résultat. Les exemples fournis plus haut permettent de se faire une idée des erreurs qui peuvent être générées et des options utilisables ou non.
Dans le cas d'une migration d'une plate-forme Windows 32-bits à 64-bits, les programmes devront être modifiés sur ces points, même si l'ensemble paraît s'intégrer dans une migration à isopérimètre.
Ce tableau synthétise les possibilités d'utilisation des moteurs de connexion selon la source et l'utilisation d'une Procédure ou d'un LIBNAME.
Pour les fichiers Excel 2003
Nom du moteur |
Excel |
xls |
ExcelCS |
PCFILES |
LIBNAME |
Non |
Non |
Non |
Oui |
Proc IMPORT |
Non |
Oui |
Oui |
Non |
Proc EXPORT |
Non |
Oui |
Oui |
Non |
Pour les fichiers Excel 2007
Nom du moteur |
Excel |
xls |
ExcelCS |
PCFILES |
LIBNAME |
Non |
Non |
Non |
Oui |
Proc IMPORT |
Non |
Non |
Oui |
Non |
Proc EXPORT |
Non |
Oui |
Oui/ Non |
Non |
Pour les fichiers Access (2003 et 2007 )
Nom du moteur |
Access |
AccessCS |
PCFILES |
LIBNAME |
Non |
Non |
Oui |
Proc IMPORT |
Non |
Oui |
Non |
Proc EXPORT |
Non |
Oui |
Non |
Par expérience, la PROC IMPORT doit être utilisée avec DBMS=XLS plutôt que EXCELCS qui exploite un service spécifique sur Windows et apparaît à l'usage plus lent.
Indépendamment de SAS, il est nécessaire d'utiliser les drivers Office de dernière génération tout en sachant que SAS ne sait pas gérer les toutes dernières versions. Il n'est donc pas vain de suivre les mises à jour et les notes techniques à ce sujet.
Cet article nous a montré que les échanges entre SAS et Excel/Access présentent de sérieux problèmes. Pour y remédier, il est envisageable de créer une base SQL Server qui supporterait la fonction de stockage des données. En effet SAS et Excel/Access communiquent très bien avec ce système de base de données ; SAS utilise un connecteur ODBC pour communiquer avec ce système de base de données.
On pourrait alors imaginer qu'Excel serve d'interface de saisie pour des données qui iraient dans les tables SQL. Ainsi SAS pourrait charger les données par la suite pour les traitements utilisateurs. Ce genre de projet paraît surdimensionné pour de simples bases, mais les utilisateurs rencontreront une meilleure stabilité dans leur Procédure et profiteront des avantages d'une base SQL Server.
6. Liens▲
http://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine#Compatibility
http://support.sas.com/documentation/cdl/en/acpcref/63184/HTML/default/viewer.htm#a002645029.htm
http://support.sas.com/documentation/cdl/en/acpcref/63184/HTML/default/viewer.htm#a003102702.htm
http://support.sas.com/kb/41/060.html
http://support.sas.com/kb/33/086.html
http://support.sas.com/kb/33/228.html
http://support.sas.com/kb/40/383.html
http://support.sas.com/kb/40/409.html
http://support.sas.com/kb/37/479.html
7. Remerciements▲
J'adresse tous mes remerciements à Fabrice Morlais, Claude Leloup et Maxime Gault de l'équipe de rédaction « Developpez.com » pour le temps qu'ils m'ont accordé pour la correction et l'amélioration de cet article.
8. À propos de l'auteur▲
Stéphane COLAS dirige DATAMETRIC, société qu'il a fondée en 2002 pour proposer un ensemble de services autour du CRM analytique et dans le choix et la mise en œuvre d'environnements BI. D'abord statisticien, puis consultant et maintenant expert et enseignant à Paris-Dauphine, il mêle désormais des actions de conseil en architecture, de développement de bases de données marketing et de formations personnalisées auprès des équipes d'analystes.