BookmarkSubscribeRSS Feed
MariaD
Barite | Level 11

Hi folks,

 

We have a new SAS server with SAS 9.4M6. We have a folder with latin characters (for example "avião"). If we tried to save a SAS table on that folder, the following erro occurs:

 

26         libname _A "/export/home/sasdemo/avião";
NOTE: Libref _A was successfully assigned as follows: 
      Engine:        V9 
      Physical Name: /export/home/sasdemo/avião
27         
28         DATA _A.TEST;
29           SET SASHELP.CLASS;
30         RUN;

ERROR: An I/O error has occurred on file _A.TEST.DATA.
ERROR: UNIX errno = 0.

Our SAS is in Latin1 (we can't change it, we have other environment with the same configuration without any error).

Additional, if we expand a SAS library the latin characters on tables name appears wrong.

 

Regards, 

6 REPLIES 6
Kurt_Bremser
Super User

That's why you only use the 26 alphabet letters, digits, underlines, and maybe dots and hyphens in file and directory names. Special characters will always cause grief, sooner or later.

JuanS_OCS
Amethyst | Level 16

Hello @MariaD ,

 

should I understand this is related to your environment that is moved from Linux to Solaris, with SAS 9.4 M6?

https://communities.sas.com/t5/Administration-and-Deployment/SAS-Slow-Performance/m-p/687604

These details usually matter.

 

This being said, I would check the encoding and language settings of the OS and the SAS session on both environments that you are comparing.

 

The message UNIX errno = 0 is not a good signal. It means that your underlying OS did not manage to recognize the exact nature of the error. I would try to get support from your system admins (to check the system logs) and perhaps from SAS.

 

In any case, at folder and file level, and as best practice, I would not deviate from UNIX standards, avoiding those characters.

 

 

MariaD
Barite | Level 11

Hi @JuanS_OCS ,

 

Yes, it's related to other post. We have 2 new servers, one for production and one for UAT. In both, SAS is in LATIN1 with en_US encoding.

 

 ENCODING=LATIN1   Specifies the default character-set encoding for the SAS session.
 LOCALE=EN_US      Specifies a set of attributes in a SAS session that reflect the language, local conventions, and culture for a 
                   geographical region.

 

Our OS is in UTF-8. Which output of OS for locale do you prefer? On the production servers, we don't have problem, the problem occurs on UAT.

 

We know that is not recommend but for many reasons we have some files/folders with these characteristics and we need to work with these situation. 

 

As comment, the performance problems occurs in both servers. 

 

Thanks,

 

 

 

 

JuanS_OCS
Amethyst | Level 16

Hi @MariaD ,

 

there is certainly one or more differences between your UAT and your Production servers. Hard to identify from here.

Starting from the basics: is Production under Linux and UAT in Solaris? What versions/distribution?

 

I am not sure if we can help a lot from here. Perhaps you could start with a proc contents data=_A._all_; on both servers.

 

I still think you need someone to look at your server and logs. For this action. the communities is not the best media, SAS Technical Support or SAS Professional Services, or a SAS Partner, are better equipped for this, specially from a compliance point of view.

 

 

 

MariaD
Barite | Level 11

Hi @JuanS_OCS ,

 

Both servers are the same, Solaris. For testing purpose, the folder with special characters is empty, so the test is save a table on it. 

 

We are working with SAS Technical Support and SAS Professional Services (all installation was made by SAS) but we don't have any progress with them. I share the problem with the community hoping someone had a similar problem on the past. 

 

Regards, 

JuanS_OCS
Amethyst | Level 16

Thank you @MariaD , this helps me to better understand your background.

 

I must admit that I feel very intrigued by this error. I would navigate in your system to try to find the root cause and solve it, but I can't.

 

For now these are my suggestion for both environment, and compare:

- From SAS, try to get as much information as possible: %put _all_, proc contents, proc options, etc. Perhaps you could run as well the SAS Content Assessment Tool and https://support.sas.com/kb/20/390.html . I would check as well what is the patch/hotfix of SAS.

- From UNIX, try to get the variables, and the patching level of the OS, the mounts, the system logs (such as messages, etc), lsof, etc

- From the underlying storage, I would try to get also the messages.

 

suga badge.PNGThe SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment. 

Join SUGA 

Get Started with SAS Information Catalog in SAS Viya

SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 6 replies
  • 1146 views
  • 4 likes
  • 3 in conversation