BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
r_behata
Barite | Level 11

We are migrating from AIX 64 based UNIX environment to a LINUX (Linux LIN X64 2.6.32-754.el6.x86_64 Red Hat Enterprise Linux Server release 6.10 ) based environment. The SAS Data sets have been copied over to the new environment. However, when trying to append/update to the data set in the new environment the below error message is encountered though the session encoding is the same for both. The only solution appears to be rebuilding the data sets in the new environment which are quite many. Is there any better way to handle this issue ?

 

 

 

ERROR: File FILE_XYX cannot be updated because its encoding does not match the session encoding or the file is
in a format native to another host, such as HP_UX_64, RS_6000_AIX_64, SOLARIS_64, HP_IA64.

 

AIX Session Encoding :

 

  SAS (r) Proprietary Software Release 9.3  TS1M2

 ENCODING=LATIN1   Specifies default encoding for internal processing of data

Linux Session Encoding :

 

    SAS (r) Proprietary Software Release 9.4  TS1M4

 ENCODING=LATIN1   Specifies the default character-set encoding for the SAS session.

Any suggestions are appreciated.

 

Thanks

 

1 ACCEPTED SOLUTION
4 REPLIES 4
Kurt_Bremser
Super User

It's not the encoding, it's the difference in processor architecture (big- vs. little-endian) that causes your problem.

Use proc cport/cimport to transfer the datasets; automating the process should not be much of an issue, given that both platforms are UNIX.

r_behata
Barite | Level 11

Hi @Kurt_Bremser 

 

Thanks for your suggestion, Appreciate it !

 

I have just learnt that the data has just been rsync'd between both the environments (UNIX to LINUX), however the cport/import of the data sets is still pending and is scheduled to run in phases over next few weeks.

 

Now That being said, I was wondering if there is a real value in doing a cport/cimport in my scenario.  This seems to be a two step process first creating the Transport file and then creating a sas data set from the transport file. Unless, I am being complete ignorant.

 

Recreating the data set in the new environment with the same name using the set statement seems to have the same effect.

 

Any thoughts ?

Patrick
Opal | Level 21

@r_behata wrote:

Hi @Kurt_Bremser 

 

Thanks for your suggestion, Appreciate it !

 

I have just learnt that the data has just been rsync'd between both the environments (UNIX to LINUX), however the cport/import of the data sets is still pending and is scheduled to run in phases over next few weeks.

 

Now That being said, I was wondering if there is a real value in doing a cport/cimport in my scenario.  This seems to be a two step process first creating the Transport file and then creating a sas data set from the transport file. Unless, I am being complete ignorant.

 

Recreating the data set in the new environment with the same name using the set statement seems to have the same effect.

 

Any thoughts ?


This will work for simple tables but you'll be loosing any indexes and constraints. Consider using Proc Migrate instead.

https://support.sas.com/rnd/migration/procmigrate/execution/migrate_2.html 

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to connect to databases in SAS Viya

Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 4 replies
  • 3964 views
  • 1 like
  • 3 in conversation