Administration SAS9

Comprender y Configurar SAS PC Files Server para Entornos de 64-bit y Unix/Linux

Simon 03/02/2016 2 views

El acceso a los archivos de Microsoft Office (Excel, Access) desde SAS© puede resultar complejo cuando se trabaja en un entorno de 64-bit o en sistemas operativos que no son Windows (como Linux o Unix).

En estas configuraciones, el uso tradicional de los motores ODBC o los enlaces DDE no suele ser directo. La solución reside en la utilización de SAS© PC Files Server combinado con la opción DBMS=EXCELCS. Este artículo resume los requisitos previos, la sintaxis y los puntos de atención identificados por la comunidad de usuarios.

1. El concepto: ¿Por qué un "PC Files Server"?

Si su servidor SAS© principal se ejecuta en un sistema operativo tipo Unix o Linux (a menudo calificado como "verdadero OS" por los puristas), no puede comunicarse de forma nativa con los controladores de Microsoft (JET o ACE) necesarios para leer los archivos .xls, .xlsx o .mdb.

Como confirman los intercambios técnicos, debe disponer de una máquina Windows separada.

  • El papel de PC Files Server: Se instala en esta máquina Windows intermedia. Actúa como una pasarela (bridge).

  • El flujo: Su SAS© (en Linux/Unix) envía una solicitud a PC Files Server (en Windows), que consulta el archivo Excel/Access a través de los controladores locales, y devuelve los datos a SAS©.

Nota importante: Si no tiene acceso a ninguna máquina Windows en su infraestructura para alojar este componente, esta solución no podrá implementarse.

Note :
Para interactuar con este servidor remoto, se utiliza el motor EXCELCS en los procedimientos de importación y exportación.

Ejemplo de código SAS©
Aquí está la estructura estándar para exportar e importar datos a través de PC Files Server:
1/* Export vers Excel */
2PROC EXPORT
3 DATA = ma_lib.mon_dataset
4 OUTFILE = "C:\Chemin\Vers\Fichier.xlsx" /* Chemin sur le serveur Windows */
5 DBMS = EXCELCS
6 REPLACE;
7 SERVER = "NomDuServeurWindows"; /* ou adresse IP */
8 PORT = 9621; /* Port par défaut, à vérifier */
9 SSPI = YES; /* Authentification Windows intégrée */
10RUN;
11 
12/* Import depuis Excel */
13PROC IMPORT
14 OUT = ma_lib.mon_dataset_import
15 DATAFILE = "C:\Chemin\Vers\Fichier.xlsx"
16 DBMS = EXCELCS
17 REPLACE;
18 SERVER = "NomDuServeurWindows";
19 PORT = 9621;
20 SSPI = YES;
21RUN;
DBMS=EXCELCS: Especifica que se utiliza el modelo Cliente/Servidor para acceder a los archivos de PC.

SERVER= y PORT=: Indican dónde se encuentra el PC Files Server.

SSPI=YES: Activa la autenticación integrada de Windows (Integrated Windows Authentication), evitando a menudo tener que codificar contraseñas.

3. Puntos de Atención y Limitaciones

Durante la implementación de esta solución, se identificaron varias trampas técnicas (basadas en las Notas de Uso SAS© 35064 y 41060):

  • Servicio de Windows y unidades de red: Si SAS© PC File Server se instala como Servicio de Windows, es posible que no reconozca las unidades de red mapeadas. A menudo es necesario utilizar rutas UNC (ej: \\servidor\compartido\archivo.xlsx) o verificar los derechos de la cuenta que inicia el servicio.

  • Opciones no soportadas: A diferencia de los motores de importación clásicos, el motor EXCELCS y PCFILES puede no soportar ciertas opciones prácticas como GETNAMES= o MIXED=. Se debe prestar atención a la estructura de sus archivos Excel de origen.

4. Documentación e Instalación

Para la instalación y configuración avanzada (especialmente para los administradores), se recomienda consultar la documentación oficial:

  • SAS©/ACCESS(R) Interface to PC Files: Reference.

  • Consultar específicamente las secciones sobre la "Declaración LIBNAME", la "Facilidad Pass-Through" para Linux/Unix, y el capítulo "Administración de PC Files Server".

SAS© PC Files Server es una herramienta indispensable para la interoperabilidad entre los entornos SAS© robustos (Unix/Linux de 64 bits) y el mundo de la ofimática Windows. Aunque requiere una infraestructura mixta (se necesita una máquina Windows dedicada), ofrece un método estandarizado a través de DBMS=EXCELCS para automatizar los flujos de datos.