stored procedures with out parameters 2006-05-27 - By Nagesh Sharvari-A21337
Back Hello, I am using myodbc with unixODBC. I have downloaded myodbc for solaris. now, I am facing problems executing stored procedures with out parameters. I am using the example shown in stored procedure section of MySQL reference manual : CREATE PROCEDURE simpleproc (OUT param1 INT)
BEGIN
SELECT COUNT(*) INTO param1 FROM t;
END;
my C code to access stored procedure:
strcpy(stmt, "call simpleproc(?)") ; rc = SQLPrepare(hstmt,stmt,SQL_NTS);
and binding an integer parameter, id to the statment : SQLINTEGER id; 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 (See http://qld-5.ora-code.com).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. I spoke to unixODBC people also, they are saying, the problem is in myodbc. so please help me. thanks and regards sharari
|
|