Previous Page | Next Page

The MIGRATE Procedure

Example 4: Migrating with SLIBREF= on the Same Computer


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:

MIGRATE statement options:

IN=

OUT=

SLIBREF=


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.

  1. 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';

  2. 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;

  3. 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;

  4. 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';

  5. 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;

Previous Page | Next Page | Top of Page