i'm getting strange error using odbcconnection calling stored procedure:
alter procedure [dba].[sp_webapi_document_post]( @ai_codice_profilo varchar(255) ,@ai_id_sog_commerciale int ,@ai_num_documento varchar(255) ,@ai_data_documento datetime ,@ai_id_documento_origine int ,@ai_id_destinazione int ,@ai_id_lingua int ,@ai_id_con_pagamento int ,@ai_note_intestazione varchar(6400) ) begin ... select * dba.documento id_documento = <last inserted id> with sql:
exec dba.sp_webapi_document_post @ai_codice_profilo = @p_codice_profilo ,@ai_id_sog_commerciale = @p_id_sog_commerciale ,@ai_num_documento = @p_num_documento ,@ai_data_documento = @p_data_documento ,@ai_id_documento_origine = @p_id_documento_origine ,@ai_id_destinazione = @p_id_destinazione ,@ai_id_lingua = @p_id_lingua ,@ai_id_con_pagamento = @p_id_con_pagamento ,@ai_note_intestazione = @p_note_intestazione after calling converttoodbcsql() method sql become:
exec dba.sp_webapi_document_post @ai_codice_profilo = ? ,@ai_id_sog_commerciale = ? ,@ai_num_documento = ? ,@ai_data_documento = ? ,@ai_id_documento_origine = ? ,@ai_id_destinazione = ? ,@ai_id_lingua = ? ,@ai_id_con_pagamento = ? ,@ai_note_intestazione = ? with connection:
connection string:
<add name="impresaconnection" connectionstring="dsn=felici;uid=sa;pwd=*secret*;multipleactiveresultsets=true" providername="system.data.odbcclient"/> and c# code:
odbcconnection conn = new odbcconnection(dbconnectionstring); conn.open(); string sql = insertsql; string outputsql = null; list<string> orderedparamlist = null; // function removes *correctly* @p_ parameters raplacing them ? // , saving ordered list user later addwithvalue odbcsqlmappingutils.converttoodbcsql(sql, dataobjectmap, out outputsql, out orderedparamlist); odbccommand cmd = new odbccommand(outputsql, conn); foreach (string param in orderedparamlist) { cmd.parameters.addwithvalue(param, value.gettype().getproperty(dataobjectmap[param]).getvalue(value, null)); } odbcdatareader r = cmd.executereader(); list<document> list = mappingutils.readertolist<document>(r); r.close(); conn.close(); return list.firstordefault() ?? null; and obtain system.data.odbc.odbcexception message: 07s01 invalid use of default parameter odbc
Comments
Post a Comment