Reputation: 1713
I have a problem. I am pulling data from Teradata Database directly into SAS. The data looks like this:
id fragmentId fragment
1 34 (some text)
2 67 (some text)
3 89 (some text)
.......
The problem is that the fragment field contains text of 10 pages and even more (30,000,000 characters). Thus in SAS I get the column truncated and loose data. How can I increase the limit for a SAS column that would contain text?
(PS: I have looked up dbmax_text
option as @Joe suggested. However, it appears that this option applies to any dbms except teradata).
How can i code it?
Upvotes: 1
Views: 439
Reputation: 63424
Teradata indeed does not support DBMAX_TEXT. It also does not seem to support character sizes nearly as high as you list; the doc page for teradata lists a maximum of 64,000 bytes; and further, SAS is only able to hold a maximum of 32767 characters in one column.
In your case, you may want to consider splitting the column in-database into 32767 byte chunks (or whatever makes logical sense for your needs). Do that in passthrough in a view, and then read the data in from that view.
-- Previous information (helpful for other DBMSs other than Teradata, not helpful here) --
Odds are you need to change the dbmax_text
option to something larger - it tends to default to 1024.
You can change it in the pull (the data step or sql query) as a dataset option, or change it in the database libname statement.
See the documentation page for more information.
Upvotes: 1