Y seguimos con FECHAS... como guardar con formato d/m/y

Ok!! he instalado el plugin de localizcion… y bien ahora me ordena las
fechas en formato d/m/y pero no me guarda las fechas en el mismo formato
y esto me produce un error:
DBI::DatabaseError: Execute
OLE error code:80040E07 in Microsoft OLE DB Provider for SQL Server
La conversió® ¤el tipo de datos char a datetime produjo un valor
datetime fuera de intervalo.
HRESULT error code:0x80020009
Ocurrió µ®a excepci󮮺 INSERT INTO incidencias
([Descripcion_Detallada], [Proyecto_id], [Cliente_id],
[Fecha_Maxima_Resolucion], [TipoIncidencia_id], [ContactoAviso_id],
[ContactoResolucion_id], [Descripcion_Breve], [FechaAviso],
[Mantenimiento_id]) VALUES(’’, NULL, NULL, ‘2007-01-25 09:03:00’, NULL,
NULL, NULL, ‘’, ‘2007-01-25 00:00:00’, NULL)
RAILS_ROOT: ./script/…/config/…

Y es porque no puede guardar una fecha y/m/d.

Como le lanzo la fecha con formato d/m/y

On Jan 25, 2007, at 9:12 AM, Andres wrote:

Ok!! he instalado el plugin de localizcion… y bien ahora me
ordena las
fechas en formato d/m/y pero no me guarda las fechas en el mismo
formato
y esto me produce un error:
DBI::DatabaseError: Execute
OLE error code:80040E07 in Microsoft OLE DB Provider for SQL
Server
La conversió® ¤el tipo de datos char a datetime produjo un valor
datetime fuera de intervalo.

La manera de pasar datetime a SQL en el adaptador de SQL Server es

when Time, DateTime then “'#{value.strftime(”%Y%m%d %H:%M:%S")}‘"
when Date then "’#{value.strftime(“%Y%m%d”)}'"

por lo que no depende de configuraciones regionales. Tengo poca idea
de SQL Server pero por ejemplo en este articulo[*] dice:

Throughout this article, you’ll notice that I use the ISO
dateformat: yyyymmdd.
This is a safe dateformat, meaning it should always work, no
matter what your
specific computer settings are. It is also unaffected by any SET
DATEFORMAT or
SET LANGUAGE settings.

Por lo que el adaptador entiendo que sigue la mejor practica posible.
En un proyecto donde probamos la aplicacion en 4 maquinas con
configuraciones aparentemente iguales, hubo una en la que no
conseguimos deshacernos del mensaje de error que tu obtienes.

Estas usando placeholders verdad?

– fxn

[*] http://www.sql-server-performance.com/fk_datetime.asp

Muchas gracias… funciona!!!