The MIGRATE Procedure |
Tip: | You can use the PROC MIGRATE Calculator on the SAS web site at http://support.sas.com/rnd/migration/planning/files/migratecalc/, which provides the PROC MIGRATE syntax needed for your specific migration. | |||||||
Tip: | You are encouraged to run PROC MIGRATE with validation tools. See Migrating a Library with Validation Tools. | |||||||
Procedure features: |
|
In this example, the source and target libraries are on different computers. Because the source library contains catalogs that are incompatible with the current release of SAS, the SLIBREF= option is required. (See Using the SLIBREF= Option to learn whether SLIBREF= is required.)
You can assign the source library (except the catalogs) to the IN= argument in one of the following two ways:
directly via a Network File System (NFS)
via a SAS/CONNECT or SAS/SHARE server.
This example uses NFS, which is a standard protocol of UNIX operating environments. See the documentation for NFS and for your operating environment. If you are not in a UNIX environment, or if you wish to use a SAS/CONNECT or SAS/SHARE server to access the source library, please see Example 1 for instructions.
The example uses the SLIBREF= argument to access the catalogs in the source library. The SLIBREF= argument must be assigned to a SAS/CONNECT or SAS/SHARE server running in a session of SAS that can access the catalogs. For example, if the source library contains SAS 8.2 catalogs created by 32-bit Solaris, SLIBREF= must be assigned to a SAS 8.2 32-bit Solaris server.
Program |
In this example, the source library was created in SAS 8.2. If catalogs were created in SAS 6 or SAS 8.2, SLIBREF= must be assigned through a SAS 8.2 server.
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 v8srv sascmd='my-v8-sas-invocation-command';
Within this remote SAS 8.2 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 srclib <engine> 'source-library-pathname'; endrsubmit;
In the local (client) session in the current release, assign to the same source library through NFS:
libname source <engine> '/nfs/v8machine-name/source-library-pathname';
Assign the same libref to the same source libref as in step 2 (in this example, SRCLIB). But do not assign the libref to a physical location. Instead, specify the SERVER= option with the server ID (in this example, V8SRV) that you assigned in the SIGNON command in step 1:
libname srclib <engine> server=v8srv;
Assign the target library:
libname target <engine> 'target-library-pathname';
Use PROC MIGRATE with the SLIBREF= option. For the IN= and OUT= options, specify the usual source and target librefs (in this example, SOURCE and TARGET, respectively). Set SLIBREF= to the libref that uses the SERVER= option (in this example, SRCLIB):
proc migrate in=source out=target slibref=srclib <options>; run;
If CATALOG is the only member type in the library and you are using the SLIBREF= option, then omit the IN= argument:
proc migrate out=target slibref=srclib <options>; run;
Copyright © 2010 by SAS Institute Inc., Cary, NC, USA. All rights reserved.