[unixODBC-support] inputOutput parameter problem in calling stored Procedure

Martin Evans martin.evans at easysoft.com
Tue Feb 17 09:43:01 GMT 2009

Bartolomeo Nicolotti wrote:
> Hi,
> I've tried with a C program 
> http://www.nabble.com/file/p22053497/helloODBCPrepStoredP.c
> helloODBCPrepStoredP.c  that calls a stored procedure (better and RPG
> program on iseries) and I got:
> bart at LxPC37:~/download/software/mono/src/test$ ./helloODBCPrepStoredP Dunkel
> siapbn siapbn75
> Error code: -1
> Failure because: prepare:
> and from unixodbc log.
> [ODBC][11389][SQLPrepare.c][189]
> 		Entry:            
> 			Statement = 0x80690e0            
> 			SQL = [CALL GIANLUCA.PROVACS(?)][length = 24 (SQL_NTS)]
> [ODBC][11389][SQLPrepare.c][364]
> 		Exit:[SQL_ERROR]
> 		DIAG [S0002] [IBM][iSeries Access ODBC Driver][DB2 UDB]SQL0204 - PROVACS
> in GIANLUCA di tipo *N non trovato.
> The message, is the same as with mono, and in the iseries slang means that
> it searches for a procedure with no parameters (*N), and it doesn't find it
> as the procedure PROVACS has been built for test purpose only, has 1
> parameter of type char and it's not overloaded.
> I think that the driver lacks the possibility of doing prepared statements
> that call stored procedures, or there's some other way of doing this.
> My pc is 32 bit, the iseries system uses ebcdic and the number of bits on
> iseries is not so easy to know, I think 48bits, yes the iseries is a strange
> world...
> Many thanks
> Best regards. 

It would appear you are not alone:



I found the comment about if you define a procedure with an input 
parameter of char(8) you MUST call the procedure with char(8) interesting.


This looked very promising:

Good Luck.

Martin J. Evans
Easysoft Limited

More information about the unixODBC-support mailing list