You have to define: SQLTYPE (CLOB: YourLen)
YourVariable SQLTYPE(CLOB: 100000);
The SQL Precompiler will generate a datastructure out of this variable:
DCL-DS YourVariable;
YourVariable_Len Uns(10);
YourVariable_Data Char(YourLen);
END-DS;
When accessing the CLOB data with SQL, you need to specify the Variable Name
(YOURVARIABLE).
When accessing the CLOB data with SQL, you need to use the Data Structure
Subfields, i.e. YOURVARIABLE_DATA.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
?Train people well enough so they can leave, treat them well enough so they
don't want to.? (Richard Branson)
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Javier
Sanchez
Sent: Montag, 29. März 2021 21:57
To: rpg400-l@xxxxxxxxxxxxxxxxxx
Subject: SQLTYPE(CLOB:length) Issue
Good day everyone.
I want to create an SQL table with a single column to hold a JSON document.
My RPG code's variable that holds it previously is 64512 bytes long which is
the maximum data queue buffer length.
When trying to create the table, I want to give that single column a type of
VARCHAR(64512) but it turns out that this gives me a compilation error
saying that the attribute for the column is not valid. Surprisingly for me
I learned that in SQL contexts, a VARCHAR may not be larger than 32000
bytes. My JSON strings could be larger than 32000 bytes, so I need to give
more room to it.
Then I tried to use a CLOB(64512) type in the creation of the table to hold
that buffer. But this doesn't work either.
What is the correct SQLTYPE that I should use to achieve this?
Thanks in advance.
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a
message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.