我正在从 Oracle DB 执行一个存储过程,即:
PROCEDURE GET_TIM_USER_CUSTO(P_ANOMES IN VARCHAR, USER_CUSTO OUT SYS_REFCURSOR)
IS
BEGIN
OPEN USER_CUSTO FOR
SELECT ID, COD_UTILIZADOR,ANO_MES,
TO_NUMBER(DESENCRIPTAR_DADO(CUSTO, (SELECT VALOR
FROM TIM_CONFIG
WHERE PARAMETRO='CRIPT_KEY'))) CUSTO,
TO_NUMBER(DESENCRIPTAR_DADO(CUSTO_EXTRA, (SELECT VALOR
FROM TIM_CONFIG
WHERE PARAMETRO='CRIPT_KEY'))) CUSTO_EXTRA
FROM TIM_USER_CUSTO
WHERE SUBSTR(P_ANOMES, 1, 4)=SUBSTR(ANO_MES, 1, 4);
END GET_TIM_USER_CUSTO;
如果我直接在 Oracle 上执行它,它会很好地返回结果集。但是如果我使用实体框架在 WebService 中调用这个存储过程
ORA-01722: 无效数字
呼叫:
ObjectResult<USER_CUSTO> aux = context.TIM_FUNCTIONS_GET_TIM_USER_CUSTO(sAnoMes);
然后它抛出异常,不给出任何结果。
将存储过程与实体一起使用可能是一件极其复杂的事情,当我第一次尝试时,我感到非常沮丧。实体中一切都运行良好...除了存储过程...无论如何。如果其中之一可以帮助您,我强烈建议您阅读下面的这些问题/答案,并尝试找到摆脱困境的方法,祝您好运!
在实体框架中使用存储过程 https://stackoverflow.com/questions/20970416/using-stored-procedure-in-entity-framework/20972897#20972897
使用实体框架从存储过程获取数据 https://stackoverflow.com/questions/32140774/getting-data-from-stored-procedure-with-entity-framework
Sql存储过程和实体框架6 https://stackoverflow.com/questions/37617199/sql-stored-proc-and-entity-framework-6/37754120#37754120
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)