addCaslib - Que se passe-t-il si je fournis un chemin invalide lors de la création d'une caslib ?

Validation : Évitez les "Chemins Fantômes"

Réponse

L'action `addCaslib` ne génère pas d'erreur si vous spécifiez un chemin invalide. La caslib est créée, mais toute tentative de chargement ou de sauvegarde de données échouera jusqu'à ce que le chemin soit corrigé.
SAS / CASL
proc cas;
   /* Tentative de création avec un chemin volontairement faux */
   table.addCaslib result=r / 
      name="MauvaiseCible", 
      dataSource={srcType="PATH"},
      path="/tmp/chemin_inexistant_123", 
      session=true;

   /* ÉTAPE CRITIQUE : Vérification immédiate de la connexion */
   /* On tente de lister 0 fichier. Si le dossier n'existe pas, cela génère une erreur. */
   table.fileInfo status=rc / caslib="MauvaiseCible" limit=0;

   /* Gestion de l'erreur */
   if (rc.severity > 0) then do;
      print "ALERTE : La Caslib a été définie mais le chemin est inaccessible !";
      print "Code erreur : " rc.statusCode;
      /* Suppression préventive de la caslib invalide */
      table.dropCaslib / caslib="MauvaiseCible";
   end;
   else do;
      print "SUCCÈS : La Caslib est valide et accessible.";
   end;
quit;
Cette réponse vous a-t-elle aidé ?
Ne faites jamais confiance à une définition silencieuse. Même si addCaslib enregistre l'objet logique avec succès (retour 0), cela ne garantit pas que le serveur CAS peut physiquement atteindre le dossier. C'est ce qu'on appelle le "Late Binding" (liaison tardive). Best Practice : Intégrez systématiquement un "Test de Connectivité" (Connectivity Check) immédiatement après la création. La méthode la plus légère consiste à appeler l'action table.fileInfo avec limit=0. Si cette action échoue, votre pipeline doit s'arrêter immédiatement plutôt que de provoquer une erreur en cascade plus loin dans votre script.
addCaslib

table

Doc : addCaslib