RE: Identifiers max 18 character?
Posted in 1998
---------- Magnus Lundgren (magnus.lundgren@digital.com) wrote: >I have an application running on Windows NT which uses a database that we >access through ODBC. With MS SQL Server and Oracle we have no major >problems. We are now trying to use Informix 7.30 but we fail because the >maximum length of the identifiers (table names, column names and index >names) is only 18 characters! This is ANSI standard; even SQL-92 at entry level allows the maximum length of identifiers to be only 18 characters. If you write portable code, you have to write to the lowest common denominator, or accept the consequential porting problems. >Is there any way to bypass this problem? JL: Wait. A forthcoming version of the Informix products is scheduled to have 128-character limits on the table names, etc. I'm not sure exactly which version it is, but it is in the pipeline. If anybody knows how long the user identifiers, database names and server names can be when the identifiers can be 128 characters, it would be useful to have that information posted (Clem, Mark, June, anyone?) And if I'm wrong about 128, shout loudly too. Expect to see a lot of problems with utilities written in the sure knowledge that these identifiers can't be longer than 18 characters -- they'll start crashing because the identifiers suddenly are longer than 18 characters. That will include some of my programs, for example. It is a non-trivial change, in general. >I don't want to rewrite my application... If you need it now, you will have to modify it somehow. Incidentally, I think DB2 still has 18-character limits on names; it did until recently, anyway. Yours, Jonathan Leffler (jleffler@visa.com) #include <bother.ms-exchange.h>