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-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 3 replies
  • 1336 views
  • 0 likes
  • 3 in conversation