调用postgresql存储过程报42883 返回

SqlSugar 沟通中
3 821

完整报错信息procedure p_assy_check_sn_keyp_act(m_data_auth => text, m_sn => text, m_work_stationid => text, m_work_stationsn => text, m_lang => text, m_emp => text, m_mark => unknown, m_mo_number => unknown, m_item_code => unknown, m_next_group_id => unknown, defaultinput => unknown, flowcode => unknown, res => unknown) does not exist

存储过程参数如下

CREATE OR REPLACE FUNCTION "n2admin"."p_assy_check_sn_keyp_act"(IN "m_data_auth" text, IN "m_sn" text, 

IN "m_work_stationid" text, IN "m_work_stationsn" text, IN "m_lang" text, IN "m_emp" text, OUT "m_mark" text, 

OUT "m_mo_number" text, OUT "m_item_code" text, OUT "m_next_group_id" text, OUT "defaultinput" text, 

OUT "flowcode" text, OUT "res" text)

  RETURNS "pg_catalog"."record" AS $BODY$

C#代码如下

var M_DATA_AUTH = new SugarParameter("@m_data_auth", DATA_AUTH);

var M_SN = new SugarParameter("@m_sn", sn);

string workID = db.Ado.GetString($"SELECT ID FROM T_CO_AREA WHERE AREA_SN='{worksn}'");

var M_WORK_STATIONID = new SugarParameter("@m_work_stationid", workID);

var M_WORK_STATIONSN = new SugarParameter("@m_work_stationsn", worksn);

var M_LANG = new SugarParameter("@m_lang", "zh_CN");

var M_EMP = new SugarParameter("@m_emp", m_emp);


var m_mark = new SugarParameter("@m_mark", null, true);//设置为output

var m_mo_number = new SugarParameter("@m_mo_number", null, true);//设置为output

var m_item_code = new SugarParameter("@m_item_code", null, true);//设置为output

var m_next_group_id = new SugarParameter("@m_next_group_id", null, true);//设置为output

var defaultinput = new SugarParameter("@defaultinput", null, true);


var flowcode = new SugarParameter("@flowcode", null, true);//设置为output

var res = new SugarParameter("@res", null, true);//设置为output

var dt = db.Ado.UseStoredProcedure().GetDataTable("p_assy_check_sn_keyp_act", M_DATA_AUTH, M_SN,

        M_WORK_STATIONID, M_WORK_STATIONSN, M_LANG, M_EMP, m_mark, m_mo_number, m_item_code,

       m_next_group_id, defaultinput, flowcode, res);//返回dt


热忱回答3

  • fate sta fate sta VIP0
    2025/11/4

    你要提供ADO.NET怎么写,我这边才能提供sqlsugar 的写法

    0 回复
  • @fate sta好像是因为pg数据库不认为是存储过程的原因,认为是函数,使用db.Ado.UseStoredProcedure().GetDataTable一直报找不到,如果调用函数该怎么写

    0 回复
  • fate sta fate sta VIP0
    2025/11/5

    db.Ado.GetDataTable(sql)

    用SQL实现调用函数

    0 回复