BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
bheerschop
Obsidian | Level 7

Hi,

When I'm runnig a job in DI where I load the data from an Oracle table into a SAS dataset I get the following warning from the table loader:

WARNING: Variable BLOB_CONTENT has TRANSCODE=YES on the BASE data set and TRANSCODE=NO on the DATA data set. TRANSCODE=YES used.

I would like to avoid this warning but I can't find where I can put a statement like TRANSCODE=YES in the table loader transformation.

Can anyone help me with this?

Thanks,

Berry

1 ACCEPTED SOLUTION

Accepted Solutions
Patrick
Opal | Level 21

I can't access a SAS Metadata Server right now but according to the docu "Transcode" is a variable attribute. http://support.sas.com/documentation/cdl/en/nlsref/61893/HTML/default/viewer.htm#a002608572.htm

Is there any field in table metadata for "transcode"?

A BLOB is a binary. It kind of feels wrong to try and transcode it. So shouldn't the attribute be "transcode=no"? I've never been in the situation where I've needed to load an Oracle BLOB into SAS. I imagine you could face some challenges here.

For example: Even though it's now possible to store a BLOB in SAS you're still limited to the 32K limit of a SAS character variable http://support.sas.com/kb/41/575.html A BLOB (eg. a picture or a sound file) can easily exceed this limit.

What do you want to do with these BLOB fields in SAS? I can't think of anything.

Some time ago I had to deal with CLOB's which also exceeded the 32K limit. I've learned "on the way" that CLOB's (and BLOB's) are also a bit of a pain for Oracle DBAs as for example in PL/SQL there is also this 32K limit. We ended up to export the CLOBs to a content server (WebDAV) and then just store the links in SAS tables. The project didn't go ahead so I can't tell you the final solution - but it looks very much to me as an approach like this might often be one of the more feasable ways of dealing with CLOB's and BLOB's (as you often just need them somewhere to later on link them into a Web Page or so).

View solution in original post

3 REPLIES 3
Patrick
Opal | Level 21

I can't access a SAS Metadata Server right now but according to the docu "Transcode" is a variable attribute. http://support.sas.com/documentation/cdl/en/nlsref/61893/HTML/default/viewer.htm#a002608572.htm

Is there any field in table metadata for "transcode"?

A BLOB is a binary. It kind of feels wrong to try and transcode it. So shouldn't the attribute be "transcode=no"? I've never been in the situation where I've needed to load an Oracle BLOB into SAS. I imagine you could face some challenges here.

For example: Even though it's now possible to store a BLOB in SAS you're still limited to the 32K limit of a SAS character variable http://support.sas.com/kb/41/575.html A BLOB (eg. a picture or a sound file) can easily exceed this limit.

What do you want to do with these BLOB fields in SAS? I can't think of anything.

Some time ago I had to deal with CLOB's which also exceeded the 32K limit. I've learned "on the way" that CLOB's (and BLOB's) are also a bit of a pain for Oracle DBAs as for example in PL/SQL there is also this 32K limit. We ended up to export the CLOBs to a content server (WebDAV) and then just store the links in SAS tables. The project didn't go ahead so I can't tell you the final solution - but it looks very much to me as an approach like this might often be one of the more feasable ways of dealing with CLOB's and BLOB's (as you often just need them somewhere to later on link them into a Web Page or so).

bheerschop
Obsidian | Level 7

To answer your questions:

1) There is no field in table metadata for transcode. It is a column option and therefor not applicable to an entire table.

2) We probably don't need this BLOB column so I will remove it from the table. I assume that the warning will disappear then.

Thanks for the information.

- Berry

Patrick
Opal | Level 21

to 1): In case you're not re-creating the target table make sure that you also physically remove the column from the table (not only metadata)

to 2): Table metadata contains the column definitions. That's where you set the attributes for columns.

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 connect to databases in SAS Viya

Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 2494 views
  • 0 likes
  • 2 in conversation