Grabar Fechas en tabla Oracle

30/06/2003 - 22:00 por pcarvajal | Informe spam
Hola,
He estado intentado grabar una fecha en una tabla Oracle,
pero me arroja el siguiente error:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC driver for Oracle][Oracle]ORA-01858: a
non-numeric character was found where a numeric was
expected

la sentencia con que intento modificar la maldita tabla es
la siguiente:

conexion.Execute("UPDATE base SET fot_fec_env = '#"&
fot_fec_env &"#' WHERE (fot_rut = '" & fot_rut & "' AND
fot_conrepos = '" & fot_conrepos & "' ) ")

el campo fot_fec_env esta declarado en la tabla como tipo
Date, y aunque estoy casi seguro de no estar haciendo nada
malo, no me resulta :(

Preguntas similare

Leer las respuestas

#1 Manuel Vera
01/07/2003 - 15:33 | Informe spam
Hola, eso de los numerales (#) creo que solo funciona con Access y SQL
Server; es una sintaxis de Microsoft, al menos hasta donde yo se.

Para Oracle trata siguiendo este formato y quitando los numerales:
... fot_fec_env = 'yyyy-mm-dd'

para extraer los valores de la fecha usas:
year(fecha)
month(fecha)
day(fecha)
Para mes y dia debes colocar 01, 02.09
Para eso usas:
right("0" & day(fecha), 2)
Si es 2 trae 02 si es 11 trae 11.

Saludos
MV

pcarvajal wrote in message
news:29c201c33f42$3a44ba80$
Hola,
He estado intentado grabar una fecha en una tabla Oracle,
pero me arroja el siguiente error:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC driver for Oracle][Oracle]ORA-01858: a
non-numeric character was found where a numeric was
expected

la sentencia con que intento modificar la maldita tabla es
la siguiente:

conexion.Execute("UPDATE base SET fot_fec_env = '#"&
fot_fec_env &"#' WHERE (fot_rut = '" & fot_rut & "' AND
fot_conrepos = '" & fot_conrepos & "' ) ")

el campo fot_fec_env esta declarado en la tabla como tipo
Date, y aunque estoy casi seguro de no estar haciendo nada
malo, no me resulta :(
Respuesta Responder a este mensaje
#2 pcarvajal
01/07/2003 - 17:42 | Informe spam
Gracias Manuel!
Lo que sucedia es que Oracle no acepta caracteres como
fecha, asi que arroja ese error. Lo que habia que hacer
era convertirlo en tipo fecha dentro de INSERT o el UPDATE
Saludos!

Hola, eso de los numerales (#) creo que solo funciona con


Access y SQL
Server; es una sintaxis de Microsoft, al menos hasta


donde yo se.

Para Oracle trata siguiendo este formato y quitando los


numerales:
fot_fec_env = 'yyyy-mm-dd'

para extraer los valores de la fecha usas:
year(fecha)
month(fecha)
day(fecha)
Para mes y dia debes colocar 01, 02.09
Para eso usas:
right("0" & day(fecha), 2)
Si es 2 trae 02 si es 11 trae 11.

Saludos
MV

pcarvajal wrote in message
news:29c201c33f42$3a44ba80$
Hola,
He estado intentado grabar una fecha en una tabla Oracle,
pero me arroja el siguiente error:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC driver for Oracle][Oracle]ORA-01858: a
non-numeric character was found where a numeric was
expected

la sentencia con que intento modificar la maldita tabla es
la siguiente:

conexion.Execute("UPDATE base SET fot_fec_env = '#"&
fot_fec_env &"#' WHERE (fot_rut = '" & fot_rut & "' AND
fot_conrepos = '" & fot_conrepos & "' ) ")

el campo fot_fec_env esta declarado en la tabla como tipo
Date, y aunque estoy casi seguro de no estar haciendo nada
malo, no me resulta :(


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida