[unixODBC-support] stored procedure with output parameter

Nagesh Sharvari-A21337 sharvari.nagesh at motorola.com
Thu May 25 10:34:05 BST 2006


Hey 
    I am facing problem executing stored procedures which has an out
parameters. Please tell me what's wrong in my code
This is how I am using call statement to execute a procedure,
simpleproc:
 
 strcpy(stmt, "call simpleproc(?)") ;
 rc = SQLPrepare(hstmt,stmt,SQL_NTS);   
 
and binding an integer parameter, id to the statment :
 
rc= SQLBindParameter(hstmt, 1, SQL_PARAM_OUTPUT, SQL_C_LONG,
SQL_INTEGER, 0, 0, &id, 0, NULL);
    
rc=SQLExecute(hstmt);
if ((rc != SQL_SUCCESS) && (rc != SQL_SUCCESS_WITH_INFO))
{
   printf("Error in call to stored procedure %d\n",rc);
   SQLGetDiagRec(SQL_HANDLE_STMT, hstmt,1, stat,&err,msg,100,&mlen);
   printf("%s (%d)\n State : %s \n",msg,err, stat);
}
 
 
 
When i compile and run this program, i get the following error.
Connected !
Error in call to stored procedure -1
[MySQL][ODBC 3.51 Driver][mysqld-5.0.19-standard]OUT or INOUT argument 1
for routine test.simplepro (1414)
 State : HYT00

 
Initially i thought State: HYT00, is something related to timeout. so
changed the statement attribute and changed the timeout period. but that
also doesn't help
I even tried the "?=call simpleproc()" but this gives syntax error.
 
 
thanks and regards
sharari
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.unixodbc.org/pipermail/unixodbc-support/attachments/20060525/ad0159d8/attachment.html>


More information about the unixODBC-support mailing list