[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:
http://forums.asp.net/p/961808/1558326.aspx
http://archive.midrange.com/rpg400-l/200204/msg00897.html
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.
http://morewally.com/cs/blogs/wallym/archive/2006/06/27/87.aspx
This looked very promising:
http://forums.systeminetwork.com/isnetforums/showthread.php?t=48619
Good Luck.
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com
More information about the unixODBC-support
mailing list