Procedure Name Length > 32 -> Error

Discussion of open issues, suggestions and bugs regarding usage of dbExpress drivers for SQL Server in Delphi and C++Builder
Post Reply
CarlosBenito
Posts: 7
Joined: Tue 13 Jun 2006 15:49

Procedure Name Length > 32 -> Error

Post by CarlosBenito » Tue 13 Jun 2006 16:02

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

CarlosBenito
Posts: 7
Joined: Tue 13 Jun 2006 15:49

Post by CarlosBenito » Tue 13 Jun 2006 17:06

Sorry, It was because i was using dbexpsda.dll instead dbexpsda30.dll!

Post Reply