DATA Step, Macro, Functions and more

why column length getting double while pulling the data from teradata to SAS using in SAS EG ?

Reply
New Contributor
Posts: 3

why column length getting double while pulling the data from teradata to SAS using in SAS EG ?

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

Valued Guide
Posts: 2,177

Re: why column length getting double while pulling the data from teradata to SAS using in SAS EG ?

Posted in reply to ramakrishna4it
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
Trusted Advisor
Posts: 3,214

Re: why column length getting double while pulling the data from teradata to SAS using in SAS EG ?

[ Edited ]

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 --<-----
New Contributor
Posts: 3

Re: why column length getting double while pulling the data from teradata to SAS using in SAS EG ?

Thanks for your quick reply.

how do i change the options permanently.

##- Please type your reply above this line. Simple formatting, no
attachments. -##
Ask a Question
Discussion stats
  • 3 replies
  • 286 views
  • 0 likes
  • 3 in conversation