ODBC and DB2 stored procedures from C#: Routine not found -


i seem have come across short coming odbc , db2 when running stored procedures. seems not possible return data stored procedure, , have prexisting query need use. has got around particular issue?

thanks in advance

update

the code calling follows (assuming connection opened):

string basesql = "call b6009822.o#04666803.put";  odbccommand command = new odbccommand(basesql, myconnection); command.commandtype = commandtype.storedprocedure;  command.parameters.add("@owner", odbctype.varchar).value = "mh";  int rows = command.executenonquery();  myconnection.close(); 

i following error ..

error [hy000] [ibm][system access odbc driver][db2 i5/os]sql0440 - routine put in o#04666803 not found specified parameters. 

it seems objecting catalog/library , procedure name. idea on need procedure called ?

second update - real example

string basesql = "{ call b6009822.o#04666803.put(?,?,?,?,?,?,?,?,?) }";  odbccommand command = myconnection.createcommand(); command.commandtext = basesql;  //odbccommand command = new odbccommand(basesql, myconnection); command.commandtype = commandtype.storedprocedure;  /* @param1 varchar(4), @param2 dec(8,0),  @param3 dec(4,0), @param4 dec(8,0),       @param5 varchar(60), @param6 dec(9,2),  @param7 dec(9,0), @param8 dec(9,2),  @param9 varchar(10))                  */  command.parameters.add("@param1", odbctype.varchar, 4).value = "mh"; command.parameters.add("@param2", odbctype.decimal, 8).value = 20110217; command.parameters.add("@param3", odbctype.decimal, 4).value = 1; command.parameters.add("@param4", odbctype.decimal, 8).value = 178377; command.parameters.add("@param5", odbctype.varchar, 60).value = "description"; command.parameters.add("@param6", odbctype.decimal, 9).value = 0; command.parameters.add("@param7", odbctype.decimal, 9).value = 45; command.parameters.add("@param8", odbctype.decimal, 9).value = 0; command.parameters.add("@param9", odbctype.varchar, 10).value = "*create";  int rows = command.executenonquery();  myconnection.close(); 

have tried call syntax?

http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.db29.doc.odbc/db2z_odbcspcall.htm

edit: in case comment above correct:

from resource, have tried:

string basesql = "call b6009822.o#04666803.put (?)"; 

important: unlike odbc, db2 odbc not support literals procedure arguments. must use parameter markers specify procedure parameter.


Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -