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 one computer. 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 for important information and to learn whether SLIBREF= is required.)
Because the source and target are on one computer, this example assigns the source library (except the catalogs) to the IN= argument directly.
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:
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 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, V8SRV) that you assigned in the SIGNON command in step 1:
libname srclib <engine> server=v8srv;
Assign two librefs: one to the source library and another to the target library. The source library is the same one that is assigned in step 2, but you must use a different libref:
libname source <engine> 'source-library-pathname; libname target <engine> 'target-library-pathname';
Use PROC MIGRATE with the SLIBREF= option. For the IN= and OUT= options, specify the librefs that you assigned in step 4 (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.