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>>

Reply via email to