MIGRATE Procedure

Example 1: Migrating across Computers

Features:

IN=

OUT=

Notes: You are encouraged to run PROC MIGRATE with validation tools. See Migrating a Library with Validation Tools .

To learn whether this is the correct PROC MIGRATE example for your migration, use the PROC MIGRATE Calculator on the SAS Web site at http://support.sas.com/rnd/migration/planning/files/migratecalc/

Details

In this example, the following is demonstrated:
  • The source and target libraries are on different computers.
  • The SLIBREF= argument is not used. (See Using the SLIBREF= Option to learn whether SLIBREF= is required.)
  • The IN= argument accesses all of the supported file types in the source library. You can assign the source library to the IN= argument in one of the following two ways:
    • directly via a Network File System (NFS)
    • via a SAS 9 SAS/CONNECT or SAS/SHARE server
    The direct method is possible only if you can access the library via an NFS, which is a standard protocol of UNIX operating environments. If you want to use that method, see the documentation for NFS and for your operating environment.
    This example uses SAS/CONNECT software. The SAS/CONNECT or SAS/SHARE server that you assign to the IN= argument must be SAS 9.1.3 or later.

Program

signon serv-ID sascmd='my-sas-invocation-command';
rsubmit;
libname source <engine> 'source-library-pathname';
endrsubmit;
libname source <engine> server=serv-ID;
libname target <engine> 'target-library-pathname';
proc migrate in=source out=target <options>;
run;

Program Description

From a session in the current release of SAS, submit the SIGNON command to invoke a SAS/CONNECT server session.Note that because you are working across computers, you might specify a machine name in the server ID.
signon serv-ID sascmd='my-sas-invocation-command';
Within this remote session, assign a libref to the source library that contains the library members to be migrated.Use the RSUBMIT and ENDRSUBMIT commands for SAS/CONNECT.
rsubmit;
libname source <engine> 'source-library-pathname';
endrsubmit;
In the local (client) session in the current release, assign the same source libref as in step 2. But do not assign the libref to a physical location. Instead, specify the SERVER= option with the server ID (in this example, serv-ID) that you assigned in the SIGNON command in step 1.
libname source <engine> server=serv-ID;
Assign the target library.
libname target <engine> 'target-library-pathname';
Use PROC MIGRATE.If your library contains catalogs, see Migrating with Incompatible Catalogs across Computers instead.
proc migrate in=source out=target <options>;
run;