BookmarkSubscribeRSS Feed
Nithin
Calcite | Level 5

Hello,

We are migrating our SAS Environment from Solaris x86 to Linux x86 environment & need to migrate all existing SAS datasets to new environment.

I have used proc cport & cimport to do this. Is there a better way to do this? Also is there a way to validate if SAS dataset if optimized to current environment?

Thanks,

-Nithin.

10 REPLIES 10
Tom
Super User Tom
Super User

Do you even need to do anything?  Unless your Linux is on an IBM mainframe then SAS should be able to read them.

It should put out a message if it needs to resort to the CEDA engine to convert on the fly.

You should be able to determine the representation for a dataset useing the DATAREP field in the dictionary table TABLES.

Nithin
Calcite | Level 5

Tom,

Yes, SAS datasets will work with CEDA. As there are few limitations & using CEDA consumes additional cpu overhead, we are planning to migrate these datasets into respective native format.

Tom
Super User Tom
Super User

Not sure what the question is then.

Are you not able to distinguish between the migrated and non-migrated versions using the fields in either PROC CONTENTS output or the DICTIONARY tables?

Doc_Duke
Rhodochrosite | Level 12

Tom,

I think that Nithin misinterpreted your first comment.  As I read it, you were saying

Do a simple copy of a SAS dataset to the new environment.  Open it with SAS in the new space.  If it uses CEDA, then he should convert the files with CPORT/CIMPORT.  If not, all he needs to do is copy the files using *nix utilities.

I agree with Nithin that using CEDA for long-term production work might be problematic.

Doc

SASKiwi
PROC Star

Another way of moving SAS data between different operating systems but maintaining "native" and optimal format is to use SAS/CONNECT and the UPLOAD/DOWNLOAD procedures. If this way is used then there is no need to CPORT/CIMPORT, even with SAS catalogs as SAS handles any translations internally. Of course you do need SAS/CONNECT licensed.

Ksharp
Super User

Another way is to use PROC COPY + XPORT engine.

But CPORT/CIMPORT is better. why don't you want it ?

Ksharp

Nithin
Calcite | Level 5

Thanks for the suggestions. To clarify couple of items :

1) We are migrating SAS datasets between 2 environments(Solaris x64 to Linux x64), we need them to be in native format. Hence, CEDA is not used while accessing them.

2) CPORT/CIMPORT works well for this situation. However, we are planning to provide scripts to SAS users to convert their individual SAS datasets. I want this script to validate if the dataset is in native format & then convert using CPORT/CIMPORT if needed.

Ksharp
Super User

A approach is making a Linux x64 version dataset at local Solaris x64 computer, then transport it to your desired destination .

OUTREP= Data Set Option

Specifies the data representation for the output SAS data set.

Valid in:

OUTREP= Value Alias* Environment

ALPHA_TRU64 ALPHA_OSF Tru64 UNIX

ALPHA_VMS_32 ALPHA_VMS OpenVMS on Alpha

ALPHA_VMS_64 OpenVMS on Alpha

HP_IA64 HP_ITANIUM HP-UX on Itanium 64-bit platform

HP_UX_32 HP_UX HP-UX on 32-bit platform

HP_UX_64 HP-UX on 64-bit platform

INTEL_ABI ABI UNIX on Intel 32-bit platform

LINUX_32 LINUX Linux for Intel Architecture on 32-bit

platform

LINUX_IA64 Linux for Itanium-based system on

64-bit platform

LINUX_X86_64 LINUX on x64 64-bit platform

MIPS_ABI ABI UNIX on 32-bit platform

MVS_32 MVS z/OS on 32-bit platform

OS2 OS/2 on Intel 32-bit platform

RS_6000_AIX_32 RS_6000_AIX AIX UNIX on 32-bit RS/6000

RS_6000_AIX_64 AIX UNIX on 64-bit RS/6000

SOLARIS_32 SOLARIS Solaris on SPARC 32-bit platform

SOLARIS_64 Solaris on SPARC 64-bit platform

SOLARIS_X86_64 Solaris on x64 64-bit platform

VAX_VMS OpenVMS VAX

VMS_IA64 OpenVMS for HP Integrity servers

64-bit platform

WINDOWS_32 WINDOWS Microsoft Windows on 32-bit platform

WINDOWS_64 Microsoft Windows 64-bit Edition (for

both Itanium-based systems and x64)

Ksharp

Nithin
Calcite | Level 5

Thanks Ksharp... But, can I validate input dataset if its already in Linux X64 format & then convert if necessary?

-Nithin.

Ksharp
Super User

Sure. Check it at dictionary table.

Notice "Data Representation Name" column contains the information you need.

data class;
 set sashelp.class;run;
data class1(OUTREP=linux);
 set sashelp.class;run;
proc sql;
create table x as
 select * from dictionary.tables
  where libname='WORK';
quit;

Ksharp

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 10 replies
  • 5383 views
  • 0 likes
  • 5 in conversation