Translating with DrWatson… this can take a few seconds the first time.
This is a genuine, complex translation. DrWatson protects commands, error codes, and log output while naturally translating the surrounding text. It’s translated once and saved.
Andre Emmerichs found dbexport wrote a column as char(18) instead of char(36) after migrating to a database with SQL_LOGICAL_CHAR=2 (UTF8). Art Kagel asked for the syscolumns collength. Andre found one database had been set up incorrectly with 36 rather than 72; on the correct one the export was right. Hedwig Fuchs explained internal versus external char sizes. Solved.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Andre Emmerichs — source: IBM Community (ConnectedCommunity.org) Informix forum
Hello,
I currently migrated one Informix 14 database with sql_logical_char=OFF into a new database with SQL_LOGICAL_CHAR=2
Informix successfully doubled my expressions, so it created a char(72) field, when i wrote a add column myColumn char(36)
CLIENT/DBLOCAL = en_us.UTF8
But now when I am exporting the database using dbexport, Informix creates the sql-commands with myColumn char(18)
Does anyone know this issue when working with SQL_LOGICAL_CHAR or do you know how I can resolve that?
In my eyes I need a myColumn char(36) in the genereated SQL Script, or?
Thanks in advance
Andre
------------------------------
Andre Emmerichs
------------------------------
↪ replying to Andre Emmerichs
Art Kagel — source: IBM Community (ConnectedCommunity.org) Informix forum
Andre:
What is the collength value for this column in syscolumns?
Also, I would be interested to know what dbschema -ss and my own myschema (assuming you have it installed) report for that table?
Art
------------------------------
Art S. Kagel, President and Principal Consultant
ASK Database Management Corp.
www.askdbmgt.com
------------------------------
↪ replying to Art Kagel
Andre Emmerichs — source: IBM Community (ConnectedCommunity.org) Informix forum
Hey,
thanks for that hint, in syscolumns its only 36 and not 72...
One database on the server was set up incorrectly, after I tried it on the other one where syscolumns said 72 the export was correct
------------------------------
Andre Emmerichs
------------------------------
↪ replying to Andre Emmerichs
Hedwig Fuchs — source: IBM Community (ConnectedCommunity.org) Informix forum
When SQL_LOGICAL_CHAR is used, then there is an "internal size" and an "external size"
I mean internally it is handled as a char of size 72 and externally it is handled as a char of size 36.
What you see exactly where depends if you use a tool, look at internal information, .....
When you have see a chance to edit and correct the SQL file before the dbimport (double the size of chars), then I would suggest to do this.
To avoid any future confusion with the external and the internal size of a char.
------------------------------
Hedwig Fuchs
------------------------------
We use strictly necessary cookies to make this site work. With your
consent we’d also use optional cookies for analytics and marketing. You can accept all,
reject all, or choose. Read our Cookie Policy.