Page 1 of 1

Setting Prepared=true parameter causes "Input parameter mismatch" errors in SP's

Posted: Thu 10 Dec 2015 16:47
Hi folks!

Firebird 2.5, RAD Studio XE7, Devart dbExpress driver for Firebird 4.5.8

Some notable driver parameter values: EnableBCD=false, OptimizedNumerics=true, LongStrings=true, EnableLargeInt=true

I have an issue that appears whenever I set the "Prepared" extended parameter to True. If I do that and then call some non-selectable stored procedures via TSQLStoredProc components, I get "Input parameter mismatch" exceptions. This behavior is occurring for the two SPs that I call in this fashion, and not for other SPs I call via SELECT statements, or for SPs that take no parameters (obviously).

Procedure 1 takes three params: varchar(255), varchar(1000), blob subtype 1.
Procedure 2 takes eleven params: char(64), bigint, integer, integer, char(26), varchar(256), integer, varchar(256), integer, varchar(256), integer.

Corresponding TParam objects appear in RAD Studio's Object Inspector at design time, in the correct order, with chars mapped to ftFixedChar and varchars mapped to ftString.

Curiously, the two problematic stored procedures appear to work correctly, though, even after the exceptions. The only thing that seems to be common to the two procedures is the use of varchar(*) parameters. It seems like there's something going on with varchar(*) params when they're accessed through TSQLStoredProc components.

Anybody else seeing this behavior? Is there a workaround?

Elias Sabbagh

Re: Setting Prepared=true parameter causes "Input parameter mismatch" errors in SP's

Posted: Tue 15 Dec 2015 08:11
by ViktorV
Unfortunately, we couldn't reproduce the problem. To investigate the problem, please compose a small sample reproducing the problem and send it to viktorv*devart*com, including scripts for creating database objects.