Help! i4gl 7.20 Ican't understand my errors
Posted in 1999
Topics: Connectivity: ESQL/C, 4GL & Embedded SQL
Unix I'm getting the following errors when compiling through i4gl, I'm at a bit of a loos on it. My code looks fine and I don't see any uniqueness problems. Any ideas? | | The following errors were discovered during compilation. | |esqlc: "syncgen.ec", line 139: Warning -33065: Cursor/statement id 'I00000876_0B97A8C4' is too long when prefixed by module name. |esqlc: "syncgen.ec", line 145: Warning -33065: Cursor/statement id 'I00000876_0C8F4513' is too long when prefixed by module name. |esqlc: "syncgen.ec", line 145: Warning -33065: Cursor/statement id 'I00000876_0B97A8C4' is too long when prefixed by module name. |esqlc: "syncgen.ec", line 155: Error -33066: Cursor/statement ids 'I00000876_0B97A2DC' and 'I00000876_0B97A8C4' are not unique in first 18 ch aracters when pr |efixed by module name. |esqlc: "syncgen.ec", line 155: Warning -33065: Cursor/statement id 'I00000876_0B97A2DC' is too long when prefixed by module name. |esqlc: "syncgen.ec", line 161: Error -33066: Cursor/statement ids 'I00000876_0C8F6593' and 'I00000876_0C8F4513' are not unique in first 18 ch aracters when pr |efixed by module name. |esqlc: "syncgen.ec", line 161: Warning -33065: Cursor/statement id 'I00000876_0C8F6593' is too long when prefixed by module name. |esqlc: "syncgen.ec", line 161: Warning -33065: Cursor/statement id 'I00000876_0B97A2DC' is too long when prefixed by module name. |esqlc: "syncgen.ec", line 171: Error -33066: Cursor/statement ids 'I00000876_0B97BCFD' and 'I00000876_0B97A2DC' are not unique in first 18 ch aracters when pr |efixed by module name. |esqlc: "syncgen.ec", line 171: Error -33066: Cursor/statement ids 'I00000876_0B97BCFD' and 'I00000876_0B97A8C4' are not unique in first 18 ch aracters when pr |efixed by module name. |esqlc: "syncgen.ec", line 171: Warning -33065: Cursor/statement id 'I00000876_0B97BCFD' is too long when prefixed by module name. Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't.
strangiato@my-deja.com wrote: > > Unix > > I'm getting the following errors when compiling through i4gl, I'm at a > bit of a loos on it. My code looks fine and I don't see any uniqueness > problems. By default cursor and statement names are unique to a module so they are prefixed with the module's filename to guarantee uniqueness. Your cursor/statement names are 18 characters long and all start with the same string ('I00000876_0'). When the engine prefixes the module name the cursor/statement names must still be less than 18 characters so it truncates them. The compiler is complaining that when it does that it is not able to create a unique cursor/statement name for each. If your cursor names are globally unique anyway you can avoid this problem by compiling with the -globcurs flag which requires global uniqueness and so does not mangle the names you use. Alternatively make those names smaller or rename them so that the first few characters are unique rather than the last few. Art S. Kagel > Any ideas? > > | > | The following errors were discovered during compilation. > | > |esqlc: "syncgen.ec", line 139: Warning -33065: Cursor/statement > id 'I00000876_0B97A8C4' is too long when prefixed by module name. > |esqlc: "syncgen.ec", line 145: Warning -33065: Cursor/statement > id 'I00000876_0C8F4513' is too long when prefixed by module name. > |esqlc: "syncgen.ec", line 145: Warning -33065: Cursor/statement > id 'I00000876_0B97A8C4' is too long when prefixed by module name. > |esqlc: "syncgen.ec", line 155: Error -33066: Cursor/statement > ids 'I00000876_0B97A2DC' and 'I00000876_0B97A8C4' are not unique in > first 18 ch > aracters when pr > |efixed by module name. > |esqlc: "syncgen.ec", line 155: Warning -33065: Cursor/statement > id 'I00000876_0B97A2DC' is too long when prefixed by module name. > |esqlc: "syncgen.ec", line 161: Error -33066: Cursor/statement > ids 'I00000876_0C8F6593' and 'I00000876_0C8F4513' are not unique in > first 18 ch > aracters when pr > |efixed by module name. > |esqlc: "syncgen.ec", line 161: Warning -33065: Cursor/statement > id 'I00000876_0C8F6593' is too long when prefixed by module name. > |esqlc: "syncgen.ec", line 161: Warning -33065: Cursor/statement > id 'I00000876_0B97A2DC' is too long when prefixed by module name. > |esqlc: "syncgen.ec", line 171: Error -33066: Cursor/statement > ids 'I00000876_0B97BCFD' and 'I00000876_0B97A2DC' are not unique in > first 18 ch > aracters when pr > |efixed by module name. > |esqlc: "syncgen.ec", line 171: Error -33066: Cursor/statement > ids 'I00000876_0B97BCFD' and 'I00000876_0B97A8C4' are not unique in > first 18 ch > aracters when pr > |efixed by module name. > |esqlc: "syncgen.ec", line 171: Warning -33065: Cursor/statement > id 'I00000876_0B97BCFD' is too long when prefixed by module name. > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't.