Oracle - ORA-01855: am/a.m. o pm/p.m. necesario

 
Vista:

ORA-01855: am/a.m. o pm/p.m. necesario

Publicado por Paul Gonzales (1 intervención) el 21/08/2014 19:24:21
Hola, recientemente publique una aplacion web hecha en c# con base de datos oracle, en mi maquina local todo va de maravillas, pero al publicarla con el IIS 7, me salta el siguiente error, muy agradecido con la ayuda para resolver el problema.

Error de servidor en la aplicación '/'.

ORA-01855: am/a.m. o pm/p.m. necesario

Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.Data.OracleClient.OracleException: ORA-01855: am/a.m. o pm/p.m. necesario


Error de código fuente:


Línea 34: OracleCommand command = new OracleCommand(sql, conn);
Línea 35: conn.Open();
Línea 36: resultado = Convert.ToInt32(command.ExecuteScalar());
Línea 37: }
Línea 38:

Archivo de origen: J:\AppSCGCI\AppSCGCI\Web\Login\Login.cs Línea: 36

Seguimiento de la pila:


[OracleException (0x80131938): ORA-01855: am/a.m. o pm/p.m. necesario
]
System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc) +340803
System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals) +1052
System.Data.OracleClient.OracleCommand.ExecuteScalarInternal(Boolean needCLStype, Boolean needRowid, OciRowidDescriptor& rowidDescriptor) +119
System.Data.OracleClient.OracleCommand.ExecuteScalar() +111
AppSCGCI.Piura.Login.LoginService.Security(Int32 userid, String usuario, DateTime ultimoacc, String ip) in J:\AppSCGCI\AppSCGCI\Web\Login\Login.cs:36
AppSCGCI.WebForm1.btnIniciar_Click(Object sender, EventArgs e) in J:\AppSCGCI\AppSCGCI\Web\Ingresar.aspx.cs:81
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9752490
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +196
System.Web.UI.WebControls.Button
.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

ORA-01855: am/a.m. o pm/p.m. necesario

Publicado por Ramiro (35 intervenciones) el 22/08/2014 15:25:33
Hola,

Creo que hay una diferencia en el parametro de NLS_DATE_LANGUAJE entre tu motor oracle local y el motor del servidor donde la publicas.

Para saber si hay diferencias ejecutá lo siguiente tanto localmente como en el servidor

SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_DATE_LANGUAGE';

Si hay diferencias tenés que ajustar ese parámetro, cuando inicias la sessión en la DB o antes de ejecutar la senetcia sql que dá error, con:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'LATIN AMERICAN SPANISH';

'LATIN AMERICAN SPANISH' es solo un ejemplo vos deberías setear en el servidor con el mismo valor que tenes local.

Si esto no funciona por favor postea el contenido de la variable sql que se ejecuta el la siguiente sentencia:

Línea 34: OracleCommand command = new OracleCommand(sql, conn);

Ya que el error es de ORACLE/SQL y no de C#.

Saludos,

Ramiro Rivarola
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar