2009-10-30 2 views
0

Doctrine ORM 1.0은 Datetime 값을 ISO8601 형식으로 삽입합니다. 즉 : '2009-10-23 12:31:22',하지만 SQL Server 2008 Express를 내 DB로 사용하는 이유로 인해 삽입 된 값이 NULL 인 것처럼 예외가 발생합니다.Doctrine은 SQL 서버에 Datetime을 삽입하지 않습니다.

{sfDoctrineLogger} executeQuery : INSERT INTO [vbif_inventarios] ([anulado], [id_restaurante], [fecha_inventario]) VALUES (?, ?, ?) - (0, 1, 2009-10-29 06:06:00)

열 [fecha_inventario]가 DATETIME 컬럼이다 여기서 질의이다. 저를 제공

수동 중 하나가 작동하지 않는 열을하여 DateField에서 동일한 문자열 (SQL 관리자를 통해 쿼리)를 삽입하려고

[err] {Doctrine_Connection_Mssql_Exception} SQLSTATE[HY000]: General error: 10007 No se puede insertar el valor NULL en la columna 'fecha_inventario', tabla 'vbif_operativo.dbo.vbif_inventarios'. La columna no admite valores NULL. Error de INSERT. [10007] (severity 5) [(null)]

, 내가가 SQL 서버를 만들 수있는 방법이 이 문자열을 올바로 수락 하시겠습니까? 나는 그들이 그것을지지한다는 것을 읽었다.

+0

"둘 중 하나가 작동하지 않는다"는 것을 의미합니까? "SQL Manager"란 Management Studio 또는 Enterprise Manager 또는 Query Analyzer를 의미합니까? 어떻게 문자열을 열에 삽입합니까? 이 열린 테이블/상위 n 개의 행 또는 다른 것을 편집합니까? OrbMan이 정확하다면, 따옴표없이 날짜를 매개 변수 문에 포함 할 수 없으므로 작은 따옴표로 묶어야합니다. Doctrine에 익숙하지 않지만 가능한 경우 저장 프로 시저 사용을 고려 했습니까? –

+0

그 뜻대로, 러닝 INSERT INTO [vbif_administracion]. [dbo]. [vbif_inventarios] ([id_restaurante], [fecha_inventario], [anulado]) VALUES (1, '10-10-29 10:25 : 00 ', 0) GO SQL Management Studio에서 사용하고 예 OrbMan이 맞습니다 (감사합니다).하지만 doctrine을 사용하고 있기 때문에 문을 직접 쓰는 것이 아니므로 교리 문제처럼 보입니다. – madarve

답변

2

날짜 문자열을 인용해야합니다.

INSERT INTO [vbif_inventarios] ([anulado], [id_restaurante], [fecha_inventario]) VALUES (?, ?, ?) - (0, 1, '2009-10-29 06:06:00') 
관련 문제