[unixODBC-support] inputOutput parameter problem in calling stored Procedure
nick at lurcher.org
Tue Feb 17 09:36:57 GMT 2009
Bartolomeo Nicolotti wrote:
>I've tried with a C program
>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
>Error code: -1
>Failure because: prepare:
>and from unixodbc log.
> Statement = 0x80690e0
> SQL = [CALL GIANLUCA.PROVACS(?)][length = 24 (SQL_NTS)]
> 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
Just for completnes, move the SQLBindParameter to before the SQLPrepare.
But as we have said, its the driver that has the problem. I suspect
binding first will fix the problem, or passing the variable in place.
But neither help you with mono.
More information about the unixODBC-support