Administration SAS9

SAS PC Files Server für 64-bit und Unix/Linux Umgebungen verstehen und konfigurieren

Simon 8 views
Difficulty Level
Débutant
Published on :

Der Zugriff auf Microsoft Office-Dateien (Excel, Access) von SAS© aus kann komplex sein, wenn man in einer 64-bit-Umgebung oder auf Nicht-Windows-Betriebssystemen (wie Linux oder Unix) arbeitet.

In diesen Konfigurationen ist die traditionelle Verwendung von ODBC-Engines oder DDE-Verknüpfungen oft nicht direkt möglich. Die Lösung liegt in der Verwendung des SAS© PC Files Servers in Kombination mit der Option DBMS=EXCELCS. Dieser Artikel fasst die Voraussetzungen, die Syntax und die von der Benutzergemeinschaft identifizierten Fallstricke zusammen.

1. Das Konzept: Warum ein „PC Files Server“?

Wenn Ihr primärer SAS©-Server auf einem Unix- oder Linux-Betriebssystem läuft (von Puristen oft als „echtes OS“ bezeichnet), kann er nicht nativ mit den Microsoft-Treibern (JET oder ACE) kommunizieren, die zum Lesen von .xls-, .xlsx- oder .mdb-Dateien erforderlich sind.

Wie durch technische Diskussionen bestätigt, benötigen Sie eine separate Windows-Maschine.

  • Die Rolle des PC Files Servers: Er wird auf dieser Windows-Zwischenmaschine installiert. Er fungiert als Gateway (Brücke).

  • Der Workflow: Ihr SAS© (auf Linux/Unix) sendet eine Anfrage an den PC Files Server (auf Windows), der die Excel/Access-Datei über die lokalen Treiber abfragt und die Daten an SAS© zurücksendet.

Wichtiger Hinweis: Wenn Sie in Ihrer Infrastruktur keinen Zugriff auf eine Windows-Maschine haben, um diese Komponente zu hosten, kann diese Lösung nicht implementiert werden.

Note :
Um mit diesem entfernten Server zu interagieren, wird die EXCELCS-Engine in den Import- und Exportprozeduren verwendet.

Beispiel SAS©-Code
Dies ist die Standardstruktur für den Export und Import von Daten über den 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: Gibt an, dass das Client/Server-Modell für den Zugriff auf PC-Dateien verwendet wird.

SERVER= und PORT=: Geben an, wo sich der PC Files Server befindet.

SSPI=YES: Aktiviert die integrierte Windows-Authentifizierung (Integrated Windows Authentication), wodurch oft die Notwendigkeit entfällt, Passwörter fest zu codieren.

3. Fallstricke und Einschränkungen

Bei der Implementierung dieser Lösung wurden mehrere technische Fallstricke identifiziert (basierend auf den SAS© Usage Notes 35064 und 41060):

  • Windows-Dienst und Netzlaufwerke: Wenn der SAS© PC File Server als Windows-Dienst installiert ist, erkennt er möglicherweise keine verbundenen Netzlaufwerke. Es ist oft notwendig, UNC-Pfade zu verwenden (z.B. \\server\share\file.xlsx) oder die Berechtigungen des Kontos zu überprüfen, das den Dienst startet.

  • Nicht unterstützte Optionen: Im Gegensatz zu klassischen Import-Engines unterstützen die Engines EXCELCS und PCFILES möglicherweise bestimmte praktische Optionen wie GETNAMES= oder MIXED= nicht. Die Struktur Ihrer Excel-Quelldateien muss sorgfältig beachtet werden.

4. Dokumentation und Installation

Für die Installation und erweiterte Konfiguration (insbesondere für Administratoren) wird empfohlen, die offizielle Dokumentation zu konsultieren:

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

  • Beachten Sie insbesondere die Abschnitte zum LIBNAME Statement“, zur „Pass-Through Facility“ für Linux/Unix und das Kapitel PC Files Server Administration“.

Der SAS© PC Files Server ist ein unverzichtbares Werkzeug für die Interoperabilität zwischen robusten SAS©-Umgebungen (Unix/Linux 64-bit) und der Windows-Bürowelt. Obwohl er eine gemischte Infrastruktur erfordert (eine dedizierte Windows-Maschine ist notwendig), bietet er eine standardisierte Methode über DBMS=EXCELCS, um Datenflüsse zu automatisieren.