Marcio Wesley Borge
Delphi Developer |
Mon, 22 Mar 2004 03:54:18 GMT
Re:procedure oledb error 8000ffff
Greetings, The preferrible mode to execute procedures on SIBPROvider is using sql with parameters. Eg. instead: Co_DEM_INS5.CommandText = "DEM_INS5" you must write Co_DEM_INS5.CommandText = "execute procedure DEM_INS5 (:DEM_IDBOURSE,:DEM_PROF_ID,:DEM_MODE,:DEM_PAL_LONG,:DEM_PAL_LARG,:DEM_PAL_D ECHE,:TYP_PS1_NOM,:TYP_PS1_LON,:TYP_PS1_LAR,:TYP_PS1_EP,:TYP_PS2_NOM,:TYP_PS 2_LON,:TYP_PS2_LAR,:TYP_PS2_EP)" And sugest to let SIBPROvider auto create parameters for you. Eg.: Co_DEM_INS5.Parameters.Items("DEM_IDBOURSE").Value = Session("demidbourse"); Co_DEM_INS5.Parameters.Items("DEM_PROF_ID").Value = Co_DEM_INS5__DEM_PROF_ID; Co_DEM_INS5.Parameters.Items("DEM_MODE").Value = Co_DEM_INS5__DEM_MODE; Co_DEM_INS5.Parameters.Items("DEM_PAL_LONG").Value = Co_DEM_INS5__DEM_PAL_LONG; Co_DEM_INS5.Parameters.Items("DEM_PAL_LARG").Value = Co_DEM_INS5__DEM_PAL_LARG; Co_DEM_INS5.Parameters.Items("DEM_PAL_DECHE").Value = Co_DEM_INS5__DEM_PAL_DECHE; Co_DEM_INS5.Parameters.Items("TYP_PS1_NOM").Value = Co_DEM_INS5__TYP_PS1_NOM; Co_DEM_INS5.Parameters.Items("TYP_PS1_LON").Value = Co_DEM_INS5__TYP_PS1_LON; Co_DEM_INS5.Parameters.Items("TYP_PS1_LAR").Value = Co_DEM_INS5__TYP_PS1_LAR; Co_DEM_INS5.Parameters.Items("TYP_PS1_EP").Value = Co_DEM_INS5__TYP_PS1_EP; Co_DEM_INS5.Parameters.Items("TYP_PS2_NOM").Value = Co_DEM_INS5__TYP_PS2_NOM; Co_DEM_INS5.Parameters.Items("TYP_PS2_LON").Value = Co_DEM_INS5__TYP_PS2_LON; Co_DEM_INS5.Parameters.Items("TYP_PS2_LAR").Value = Co_DEM_INS5__TYP_PS2_LAR; Co_DEM_INS5.Parameters.Items("TYP_PS2_EP").Value = Co_DEM_INS5__TYP_PS2_EP; Ok? So your code will be: if (Request("Continuer") != "undefined") { var Co_DEM_INS5 = Server.CreateObject("ADODB.Command"); Co_DEM_INS5.ActiveConnection = MM_agora_odbc_STRING; Co_DEM_INS5.CommandText = "execute procedure DEM_INS5(:DEM_IDBOURSE,:DEM_PROF_ID,:DEM_MODE,:DEM_PAL_LONG,:DEM_PAL_LARG,:D EM_PAL_DECHE,:TYP_PS1_NOM,:TYP_PS1_LON,:TYP_PS1_LAR,:TYP_PS1_EP,:TYP_PS2_NOM ,:TYP_PS2_LON,:TYP_PS2_LAR,:TYP_PS2_EP)" Co_DEM_INS5.Parameters.Items("DEM_IDBOURSE").Value = Session("demidbourse"); Co_DEM_INS5.Parameters.Items("DEM_PROF_ID").Value = Co_DEM_INS5__DEM_PROF_ID; Co_DEM_INS5.Parameters.Items("DEM_MODE").Value = Co_DEM_INS5__DEM_MODE; Co_DEM_INS5.Parameters.Items("DEM_PAL_LONG").Value = Co_DEM_INS5__DEM_PAL_LONG; Co_DEM_INS5.Parameters.Items("DEM_PAL_LARG").Value = Co_DEM_INS5__DEM_PAL_LARG; Co_DEM_INS5.Parameters.Items("DEM_PAL_DECHE").Value = Co_DEM_INS5__DEM_PAL_DECHE; Co_DEM_INS5.Parameters.Items("TYP_PS1_NOM").Value = Co_DEM_INS5__TYP_PS1_NOM; Co_DEM_INS5.Parameters.Items("TYP_PS1_LON").Value = Co_DEM_INS5__TYP_PS1_LON; Co_DEM_INS5.Parameters.Items("TYP_PS1_LAR").Value = Co_DEM_INS5__TYP_PS1_LAR; Co_DEM_INS5.Parameters.Items("TYP_PS1_EP").Value = Co_DEM_INS5__TYP_PS1_EP; Co_DEM_INS5.Parameters.Items("TYP_PS2_NOM").Value = Co_DEM_INS5__TYP_PS2_NOM; Co_DEM_INS5.Parameters.Items("TYP_PS2_LON").Value = Co_DEM_INS5__TYP_PS2_LON; Co_DEM_INS5.Parameters.Items("TYP_PS2_LAR").Value = Co_DEM_INS5__TYP_PS2_LAR; Co_DEM_INS5.Parameters.Items("TYP_PS2_EP").Value = Co_DEM_INS5__TYP_PS2_EP; Co_DEM_INS5.Execute(); Thanks for using SIBPROvider, Marcio Wesley Borges www.sibprovider.com "Remember registering SIBPROvider you get unlimited support and acquires rights to use it for commercial purpose" "AB" <webmas...@europal.net> escreveu na mensagem news:3bbaf574$1_2@dnews... Quote> Hello > I try to call a procedure with sibprovider and I've got this error message : > SIBProvi.TSIBCommand error '8000ffff' > Dynamic SQL Error parameter mismatch for procedure DEM_INS5 > I've got the right number of arguments ( I've dont use date ) > if (Request("Continuer") != "undefined") { > var Co_DEM_INS5 = Server.CreateObject("ADODB.Command"); > Co_DEM_INS5.ActiveConnection = MM_agora_odbc_STRING; > Co_DEM_INS5.CommandText = "DEM_INS5" > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("DEM_IDBOURSE", 3, > 1,4,Session("demidbourse"))); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("DEM_PROF_ID", 3, > 1,4,Co_DEM_INS5__DEM_PROF_ID)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("DEM_MODE", 3, > 1,4,Co_DEM_INS5__DEM_MODE)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("DEM_PAL_LONG", 3, > 1,4,Co_DEM_INS5__DEM_PAL_LONG)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("DEM_PAL_LARG", 3, > 1,4,Co_DEM_INS5__DEM_PAL_LARG)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("DEM_PAL_DECHE", > 3, 1,4,Co_DEM_INS5__DEM_PAL_DECHE)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("TYP_PS1_NOM", 3, > 1,4,Co_DEM_INS5__TYP_PS1_NOM)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("TYP_PS1_LON", 3, > 1,4,Co_DEM_INS5__TYP_PS1_LON)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("TYP_PS1_LAR", 3, > 1,4,Co_DEM_INS5__TYP_PS1_LAR)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("TYP_PS1_EP", 3, > 1,4,Co_DEM_INS5__TYP_PS1_EP)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("TYP_PS2_NOM", 3, > 1,4,Co_DEM_INS5__TYP_PS2_NOM)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("TYP_PS2_LON", 3, > 1,4,Co_DEM_INS5__TYP_PS2_LON)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("TYP_PS2_LAR", 3, > 1,4,Co_DEM_INS5__TYP_PS2_LAR)); > Co_DEM_INS5.Parameters.Append(Co_DEM_INS5.CreateParameter("TYP_PS2_EP", 3, > 1,4,Co_DEM_INS5__TYP_PS2_EP)); > Co_DEM_INS5.CommandType = 4; > Co_DEM_INS5.CommandTimeout = 0; > Co_DEM_INS5.Prepared = true; > Co_DEM_INS5.Execute(); > Ps: This procedure works fine with a odbc driver > Thanks a lot for any help !!!
|