ich eine gespeicherte Prozedur von Oracle DB ausführt, ist:ORA-01722: ungültige Nummer auf Entity Framework
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;
Wenn ich es auf der Oracle direkt ausführen es ein Ergebnis gut eingestellt zurückgibt. Aber wenn ich diese gespeicherte Prozedur aufrufen, in einem WebService mit Entity Framework
ORA-01722: ungültige Nummer
Berufung:
ObjectResult<USER_CUSTO> aux = context.TIM_FUNCTIONS_GET_TIM_USER_CUSTO(sAnoMes);
Dann wirft er eine Ausnahme, nicht geben irgendein Ergebnis.
zeigen Sie das Ergebnis Sie erhalten und wie Sie es nennen mit EntityFramework –
Was die Definition Ihrer USER_CUSTO ist? Können Sie auch das Ergebnis angeben, das Sie beim Ausführen der Abfrage erhalten? Laut der [docs] (http://www.dba-oracle.com/sf_ora_01722_invalid_number.htm) ist dieser Fehler eine "... versuchte Umwandlung einer Zeichenfolge in eine Zahl, die fehlgeschlagen ist, weil die Zeichenfolge kein gültiger numerischer Wert war wörtlich. " – n0m4d