David, I'm successfully using DB2 for internal web app. We used to use i595: O/S V5R3M0 and now we use Power 770: O/S V7R1M0.
Yes, it will be created as 'CLOB' and I don't have the problem. (See
attachment).
Model
------------------------------------
db.define_table('mytable',
Field('mystring'),
Field('mytext', 'text')
)
SQL
------------------------------------
CREATE TABLE mytable(
id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY NOT NULL,
mystring VARCHAR(512),
mytext CLOB
);
However, I'm also AS400 Developer and don't like to use the 'CLOB' field
because it's not supported by DDS and I'm pretyy sure we can not read/write
the field with RPG. I prefer using VARCHAR. If you really want to use the
text input field on the form, then I remember I tried something like this.
1. Define new table with VARCHAR and let web2py create the table on AS400
You should also specify the length and IS_LENGTH
db.define_table('mytable',
Field('mystring'),
Field('mytext')
)
2. Specify migrate=False and change the field to 'text'
In this way, web2py show the field as 'text' but the field on DB2 is still
VARCHAR.
db.define_table('mytable',
Field('mystring'),
Field('mytext', 'text'),
migrate=False
)
3. Try creating new record
<<attachment: Insert record.PNG>>
<<attachment: AS400 Part1.PNG>>
<<attachment: AS400 Part2.PNG>>

