10-18-2016 04:22 AM
I have some sas datasets on mainframes and I need to move/transfer/migrate them to Linux. If I want to use SAS/CONENCT for this, is it mandatory that SAS/CONNECT needs to be installed on both mainframe server and linus server?
I need to compare two sas datasets , one on mainframes and one on LInux? What is the best way to do this?
10-18-2016 04:29 AM
To use SAS/CONNECT, it needs to be installed and licensed on all participating hosts.
To transfer SAS datasets, I'd rather use proc cport on the MF and proc cimport on the UNIX side, and ftp or sftp to transfer the cport files from MF to UNIX. That's what we did. Does not need more than Base SAS.
The FTP connection will be more streamlined than a transfer between SAS sessions tunneled through a quasi-terminal session (what CONNECT is).
10-18-2016 04:40 AM
Thanks Kurt for the auick response.
I've tried PROC CPORT and PROC CIMPORT . They are working fine for me. However, as the sas dataset on maindframes is very huge in size, PROC CPORT and CIMPORT are taking more time. I assume that transferring the data using SAS/CONNECT is faster. Thoughts please...
10-18-2016 05:13 AM
To determine what is faster, you have to simply test it out. Be aware that cport/cimport creates files that may be smaller than the volume you have to pipe through SAS/CONNECT.
Another question that arises: how do you automate your migration? This might be easier solved in JCL on the MF and shell script on UNIX.
When we made the same migration, we went with the cport/ftp/cimport path. I wrote a generic cport program that was used on all SAS datasets found on the mainframe, and a similar generic cimport code on the UNIX side. Library relationships were included in the cport file names.
Take special care of the numeric precision issue when using timestamps with fractionals; we used 6 digits after the comma for fractions of seconds, and half of the timestamps were off by one bit. These had to be corrected.
10-18-2016 04:36 AM
To verify your datasets after transfer, I'd use sums on numeric columns (be aware that fractional numbers might cause differences because of the different real number storage format on MF and UNIX), and visual checks on character variables. Once you've verified that all your special characters were correctly converted in any of your observations, you can safely assume that the same happened in all other obs.
Care must be taken of values that are stored in binary format (ie a UUID must not be stored as 16 bytes, but in its formatted char(36) value).