sql debugging datetime insert orientdb

sql - Error de conversión de DateTime al insertarlo en OrientDB



debugging (1)

2014-03-09T02:00:00 -> 2014-03-09T03:00:00 no existe cuando se incorpora el horario de verano (DST).

Debido a que ese tiempo específico es imposible cuando se usa DST, el error fue al transferir los datos de una base de datos que lo permitieron a uno que no lo hizo. La razón por la que Parse lo permite es porque usan el Tiempo Universal Coordinado (UTC), que no cambia con el horario de verano.

La corrección en OrientDB es la siguiente:

-- set timezone to utc ALTER DATABASE TIMEZONE UTC

Error al convertir la fecha ''2014-03-09T02: 42: 09.893'' usando el formato: aaaa-MM-dd''T''HH: mm: ss.SSS

El tipo de error aquí es com.orientechnologies.orient.core.exception.OQueryParsingException .

Configuré el formato DateTime usando:

ALTER DATABASE DATETIMEFORMAT yyyy-MM-dd''T''HH:mm:ss.SSS

Además, sé que esto es un error con Orient frente a la API Node que uso porque esto también falla en la consola:

INSERT INTO User ("configuraciones", "aceptedTerms", "activitiesCount", "appFirstUseDate", "birthday", "email", "equipo", "feedOption", "followerCount", "followingCount", "followingFeedLastReadAt", "gender "," objetivo "," height_unit "," height_val1 "," height_val2 "," kitchenSinkBadgesSeen "," lastRatePrompt "," lastVersionUsed "," level "," numReferrals "," platform "," popularFeedLastReadAt "," postCount ", "seenHamburgerInstructions", "seenRatePrompt", "stream", "timezone", "unsubscribedFromWorkoutEmails", "username", "weight", "weight_unit", "createdAt", "updatedAt", "objectId", "ACL", "sessionToken" ") VALUES ({" __type ":" Puntero "," className ":" Configuración "," objectId ":" K9X5P470hF "}, verdadero, 10, {" __type ":" Fecha "," iso ":" 2014- 03-09T03: 37: 53.270Z "}, {" __type ":" Fecha "," iso ":" 2000-03-29T00: 00: 00.000Z "}," [email protected] ", {" 1 " : [6,8,4]}, 1, 0, 0, {"__type": "Fecha", "iso": "2014-03-12T00: 32: 11.245Z"}, 2, 2, 1, 5 , 3, ["actividad", "agenda", "encontrar amigos", "registro", "compartir", "entrenamientos / nuevo", "perfil / l8QOwljKWh", "editarPerfil", " progress "," entrenamientos / hoy "], {" __type ":" Fecha "," iso ":" 2014-04-08T22: 23: 47.799Z "}," 2.4.3 ", 2, 0, 1, { "__type": "Fecha", "iso": "2014-04-08T22: 23: 45.070Z"}, 10, verdadero, verdadero, "b", "America / Havana", verdadero, "hannah00329", 128, 1, "2014-03-09T02: 42: 09.893", "2014-04-08T22: 43: 27.086", "l8QOwljKWh", {"*": {"leer": true}, "l8QOwljKWh": {"leer ": verdadero," escribir ": verdadero}}," t7h4bpx5ri8oyd3vfdt1l7e0b ")

Con el mismo error:

Error: com.orientechnologies.orient.core.exception.OQueryParsingException: Error en la conversión de la fecha ''2014-03-09T02: 42: 09.893'' con el formato: aaaa-MM-dd''T''HH: mm: ss.SSS

La mayoría de los otros DateTimes funcionan, pero por algún motivo, 1 de cada 10000 falla con este error.

Los otros DateTimes en mi mesa se ven exactamente iguales:

2013-06-28T04:50:35.717 2013-07-03T08:16:10.713 2012-12-27T19:56:52.030

EDITAR:

Tras una investigación más profunda, parece que a las 2 p. M. Del 9 de marzo es el día del juicio final ...

SUCCESS: 2013-06-28T04:50:35.717Z 2013-07-03T08:16:10.713Z 2012-12-27T19:56:52.030Z ERROR: 2014-03-09T02:42:09.893Z 2014-03-09T02:11:49.764Z 2014-03-09T02:02:43.987Z 2014-03-09T02:10:39.408Z 2014-03-09T02:37:10.196Z 2014-03-09T02:40:46.492Z 2014-03-09T02:22:26.589Z

EDITAR:

Aquí están mis configuraciones de OrientDB

--------------------------------+----------------------------------------------------+ NAME | VALUE | --------------------------------+----------------------------------------------------+ Name | null | Version | 9 | Date format | yyyy-MM-dd | Datetime format | yyyy-MM-dd HH:mm:ss | Timezone | America/Toronto | Locale Country | US | Locale Language | en | Charset | UTF-8 | Schema RID | #0:1 | Index Manager RID | #0:2 | Dictionary RID | null | --------------------------------+----------------------------------------------------+