Foros del Web » Programando para Internet » ASP Clásico »

Error ORA-01840: el valor de entrada no es lo bastante largo para el formato de fecha

Estas en el tema de Error ORA-01840: el valor de entrada no es lo bastante largo para el formato de fecha en el foro de ASP Clásico en Foros del Web. Hola wenas, pues como dice el titulo del post, estoy haciendo una pagina en asp, con conexion a oracle, recojo datos que tengo que insertar ...
  #1 (permalink)  
Antiguo 31/05/2008, 12:52
 
Fecha de Ingreso: junio-2006
Ubicación: España
Mensajes: 122
Antigüedad: 18 años, 11 meses
Puntos: 2
Error ORA-01840: el valor de entrada no es lo bastante largo para el formato de fecha

Hola wenas, pues como dice el titulo del post, estoy haciendo una pagina en asp, con conexion a oracle, recojo datos que tengo que insertar en una tabla dos de los datos son fecha. y me sale el error

Microsoft OLE DB Provider for Oracle error '80040e07'

ORA-01840: el valor de entrada no es lo bastante largo para el formato de fecha

la consulta que hago es esta

sql="Insert Into NOTICIA (TITULO,RESUMEN,DESCRIPCION,IMAGEN,FECHA_INICIO,FE CHA_FIN,ID_AUTOR,PRIMERA_PLANA,SECCION) values ('" & titulo & "','" & resumen & "','" & descripcion & "','" & imagen & "','" & seccion & "','" & fechainicio & "','" & fechafin & "','" & portada & "','" & autor & "')"
set RS =cn.Execute(sql)
set RS =cn.Execute("commit")
%>

Obviamente los campos estan bien escritos tan y cual como en oracle
y las variables estan todas declaradas con el mismo nombre que tienen en el value y tienen el request.form correcto.

un desc de la tabla NOTICIA por si ayuda...

Nombre ¿Nulo? Tipo
ID_NOTICIA NOT NULL NUMBER(3)
TITULO VARCHAR2(100)
RESUMEN VARCHAR2(400)
DESCRIPCION VARCHAR2(4000)
IMAGEN VARCHAR2(300)
FECHA_INICIO DATE
FECHA_FIN DATE
ID_AUTOR VARCHAR2(9)
PRIMERA_PLANA VARCHAR2(2)
SECCION NUMBER(2)

* para el campo id_noticia tengo un trigger

gracias de antemano
un saludo
  #2 (permalink)  
Antiguo 02/06/2008, 12:02
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Respuesta: Error ORA-01840: el valor de entrada no es lo bastante largo para el forma

Hazle un Response.Write a tu consulta, seguida de Response.End y pega el resultado aquí, lo que nos interesaría ver es que está llegando en los valores de fecha.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 02/06/2008, 12:36
 
Fecha de Ingreso: junio-2006
Ubicación: España
Mensajes: 122
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: Error ORA-01840: el valor de entrada no es lo bastante largo para el forma

Hola, gracias por contestar, mira he hecho lo siguiente, antes del insert

response.Write(fechainicio)
response.Write(" y la otra ")
response.Write(fechafin)
response.End()


y me devuelve los datos exctamente igual que introduzco en el formulario

10/02/2000 y la otra 12/03/2030

tambien he probado de poner la fecha dele stilo
10/10/00

Nose que puede pasar...
bueno gracias de nuevo
saludos
  #4 (permalink)  
Antiguo 02/06/2008, 12:47
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Respuesta: Error ORA-01840: el valor de entrada no es lo bastante largo para el forma

Según yo -no me hagas mucho caso- a Oracle deberías pasarle horas, minutos y segundos

Trata este formato, o modifícalo de acuerdo a tu formato de fecha

'YYYY-MM-DD HH:MI:SS'

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 06/10/2008, 02:26
Avatar de Osirapis  
Fecha de Ingreso: abril-2006
Ubicación: Granada - Sevilla. (la Tierra)
Mensajes: 89
Antigüedad: 19 años
Puntos: 0
Respuesta: Error ORA-01840: el valor de entrada no es lo bastante largo para el forma

Lo que te ocurre es que a Oracle le estás pasando una cadena (fechainicio y fechafin) para llenar un campo de tipo fecha, y no le dices el formato que tiene esa cadena.

Prueba así:

sql="Insert Into NOTICIA (TITULO,RESUMEN,DESCRIPCION,IMAGEN,FECHA_INICIO,FE CHA_FIN,ID_AUTOR,PRIMERA_PLANA,SECCION) values ('" & titulo & "','" & resumen & "','" & descripcion & "','" & imagen & "','" & seccion & "','" & to_date (fechainicio, 'DD/MM/YYYY') & "','" & to_date(fechafin, 'DD/MM/YYYY') & "','" & portada & "','" & autor & "')"

Suerte.
__________________
Solo hay 10 tipos de personas: los que saben binario y los que no. ; )P
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:28.