sql server - 07S01 invalid use of default parameter odbc -


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