BookmarkSubscribeRSS Feed
ramakrishna4it
Calcite | Level 5

Hi All,

 I' trying to pull the data from teradata using Proc SQL procedure. the column lengths are getting double after reading the data into SAS. Example: Name having 20 length in teradata is getting double 40 in sas datasest.

 In one of my dataset having 63K length in terradata(620 coulmns) and I'm not able to read this Teradata table into sas because all the var char types are getting duble size and then it is exeding the teradata coulmn 64K length limataion. then i spilt the coulmns 100 for wach table and merging to one SAS dataset. in this cases also dataset size is coming upto 50GB. i have already used compress=yes option. I want to reduce the size atleast

 
Please kindly advise me how to solve this issue.


Thanks in advance!

Ramakrishna

ramakrishna4it@gmail.com

3 REPLIES 3
Peter_C
Rhodochrosite | Level 12
Doubling in size, sounds like the mis-management of unicode to char or dbcs to single......
Try a proc contents on a view of the teradata table
jakarman
Barite | Level 11

The proc contents of SAS will Show the information after the SAS/ACCESS and TD-Odbc did the translation.
Most likey a unicode (TD is having UTF16 not UTF8) issue. The check the table TD definitions use the TD-admin client is the most easy one.    

 

 

There are three places to make Unicode a permanent approach for multilangual work.
1/ Allow the run-time envitonment of SAS being DBCS/utf8 (it are a difterent set of executables)

2/ Set the SAS-session environment using the encoding you are needing.

https://support.sas.com/resources/papers/Multilingual_Computing_with_SAS_94.pdf 
You could keep also being runnig english US single byte Ascii (telex age). When you are doing that your processing will notify all not translatable characters as like native hindi .... (kanji).

 

The whole mindset is letting go a single-byte is a single character.  A single character can occupy 1-4 bytes (variable) wiht utf8.

MS office, Web is commonly using utf8, only archaic administration systems still on lantin-1 (7 15 etc).

Within Teradata U-16 is used a slightly different unicode version. The Teradata ODBC adapter has to be configured on what type of outgoing interface (latin-1 utf8 is expected) see the documents:

- " ODBC Driver for Teradata Application Development - Teradata Extensions to the ODBC Standard" 

-  Teradata " International Character Set Support"

(google gives me the docs not the links) 

 

---->-- ja karman --<-----
ramakrishna4it
Calcite | Level 5
Thanks for your quick reply.

how do i change the options permanently.

##- Please type your reply above this line. Simple formatting, no
attachments. -##

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!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 3 replies
  • 1631 views
  • 0 likes
  • 3 in conversation