2016-08-29 7 views
3

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.

+0

zeigen Sie das Ergebnis Sie erhalten und wie Sie es nennen mit EntityFramework –

+0

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

Antwort

1

Die Verwendung der gespeicherten Prozedur mit Entity kann eine sehr komplizierte Sache sein, ich war extrem frustriert, als ich das erste Mal versuchte. Alles funktioniert gut in der Entität ... außer der gespeicherten Prozedur ... sowieso. Wenn Ihnen einer davon helfen kann, schlage ich Ihnen vor, dass Sie diese Fragen/Antworten unten lesen und versuchen, sich daraus zu befreien, viel Glück!

using stored procedure in entity framework

Getting data from stored procedure with Entity Framework

Sql Stored proc and Entity framework 6