DATA Step, Macro, Functions and more

SAS 32 character restriction for column names.

Reply
Occasional Contributor
Posts: 6

SAS 32 character restriction for column names.

SAS\Access sqlsvr connecting to Unix MS SQL database containing views with column names exceeding 32 characters in length.  My reading indicates that SAS can overcome the 32 characters restriction by specifying in the LIBNAME statement the PRESERVE_COL_NAMES option.  I've tried =YES as well as =NO and each results in ERROR 65-58: Name '. . . XYZ . . .' is too long for a SAS name in this context.  Any helpful tips to resolve is appreciated.

Super User
Posts: 19,868

Re: SAS 32 character restriction for column names.

Posted in reply to Patriot1776
You can use SQL Pass through to pull the information OR you can create a view of the tables with a name that's shorter than 32 chars.
Super User
Posts: 5,437

Re: SAS 32 character restriction for column names.

Posted in reply to Patriot1776

"This option applies only when you create a new table"

This issue have discussed multiple time on the communities - pls do a search.

In short, you probably need to use explicit SQL pass-thru, or having view created in the RDBMS which complies to SAS naming limits.

Data never sleeps
Super User
Posts: 3,260

Re: SAS 32 character restriction for column names.

[ Edited ]
Posted in reply to Patriot1776

You can't have SAS column names longer than 32 characters period. 

 

The only way to reference a longer than 32 character column in SQL Server is by using SAQL PASSTHRU. SAS will truncate the column name to 32 chars when reading it into SAS.

 

proc sql;
  connect to sqlservr (connection string);
  create table test as
  select * from connection to sqlservr
 (select extremely_long_column_name_more_than_32_chars_long
  from tablename
 );
quit; 

 

Occasional Contributor
Posts: 6

Re: SAS 32 character restriction for column names.

Thank you all so very much for the rapid responses.  Appreciate it.

Ask a Question
Discussion stats
  • 4 replies
  • 338 views
  • 0 likes
  • 4 in conversation