Page 1 of 1

Procedure Name Length > 32 -> Error

Posted: Tue 13 Jun 2006 16:02
by CarlosBenito
I can´t execute a Stored procedure with D2006 and dbexpress 3.04 if the length of the name is greater than 32.

Example:

CREATE PROCEDURE PKG_PRECIOCOMISION__prPrecioAtrasado
@V_sqnodlog NUMERIC(9,0),
@V_cdnumedi NUMERIC(9,0),
@V_fefectir DATETIME,
@V_tpmoneda varchar(5),
@V_tppaises varchar(5),
@V_imprecm1 NUMERIC(18,6) OUTPUT,
@V_imprecm2 NUMERIC(18,6) OUTPUT,
@V_swprecom varchar(1),
@TipoPrecio varchar(1) OUTPUT AS
Print 'i can´t execute me'
END

the driver launchs this select in order to obtain the params:

DECLARE @SCH CHAR(200)
IF (SELECT COUNT(*) FROM sysobjects o WHERE
o.type in ('P', 'X')
AND o.name LIKE 'PKG_PRECIOCOMISION__prPrecioAtra'
AND user_name(o.uid) = USER_NAME()) > 0
SET @SCH = USER_NAME()
ELSE

As you can see only the firsts 32 characters (the Oracle limit) are used.

Thanks

Posted: Tue 13 Jun 2006 17:06
by CarlosBenito
Sorry, It was because i was using dbexpsda.dll instead dbexpsda30.dll!