CLIPPED doesn't work with NCHAR fields in ACE
Posted in 1999
Topics: Installation, Setup & Upgrades, Data Types & Schema Design, Migration, Import/Export & Data Conversion, Versions, Editions & End-of-Life
Hi Informixers,
a new problem just cropped up on me after my upgrade to IDS 7.30:
I just discovered that all CHAR and VARCHAR fields were changed to
NCHAR and NVARCHAR by the engine, even in those databases where I had
explicitly NOT set COLLCHAR=1 before loading. I'm not quite sure anymore
(after two days of working on the conversion, with very little sleep),
but I believe that this didn't happen right after the dbimport, but
sometime afterwards (maybe during backup?). Anyway, it seems I'm stuck
with that, and I could live with it if I hadn't stumbled across this
nasty error:
ACE reports (INFORMIX-SQL Version 7.20UD1) that worked just fine before
now crash with the error message:
-9001 Only columns of type CHARACTER may be subscripted or printed
without trailing blanks.
Either you have attempted to subscript, or apply the CLIPPED
function to, a non-character variable; or else you specified a variable
to have the wrong data type.
Is this expected behavior? From the documentation, I had the impression that
NCHAR is equivalent to CHAR for all normal means, except for collating
purposes. What can I do to get around this?
Regards, Richard
--
+--------------------------+------------------------------------------+
| Dr. Richard Spitz | INTERNET: spitz@ana.med.uni-muenchen.de |
| EDV-Gruppe Anaesthesie | Tel : +49-89-7095-6110 <-- NEW! |
| Klinikum Grosshadern | FAX : +49-89-7095-8886 |
| 81366 Munich, Germany | GSM : +49-172-8933578 |
+--------------------------+------------------------------------------+
Sorry to bother you with my posting. Just found out from TECHINFO that this is a known bug: #72293. It's been around since SQL 4.20 and 6.04 and hasn't been fixed. Informix doesn't suggest a workaround, but at least I found one for my specific circumstances: Define a CHAR variable in the ACE report and assign the NCHAR field to that variable with the LET statement. Regards, Richard -- +--------------------------+------------------------------------------+ | Dr. Richard Spitz | INTERNET: spitz@ana.med.uni-muenchen.de | | EDV-Gruppe Anaesthesie | Tel : +49-89-7095-6110 <-- NEW! | | Klinikum Grosshadern | FAX : +49-89-7095-8886 | | 81366 Munich, Germany | GSM : +49-172-8933578 | +--------------------------+------------------------------------------+
Related threads
- CLIPPED doesn't work with NCHAR/NVARCHAR fields in ACE-Report
- Passing LIST to SPL stored procedure or function