Доктрина не может вставить DateTime в MSSQL 2005 - PullRequest
0 голосов
/ 21 ноября 2010

Я использую Doctrine 2.0 с php5.3, обслуживаемую из apache2 с бэкэндом MSSQL \ SQLEXPRESS 2005.
Моя проблема в том, что когда я иду, чтобы вставить запись с объектом DateTime, я получаю ошибку.

PDOException: SQLSTATE [22007]: [Microsoft] [Собственный клиент SQL Server 10.0] [SQL Server] Преобразование не удалось при преобразовании даты и времени из символьной строки.

Как частьУстранение неполадок, я проверил, что целевой столбец на самом деле типа datetime.И я повторил запрос, используя EchoLogger, который возвращает что-то вроде этого

INSERT INTO proposal (proposaldate, ...)
   VALUES (?..) { [1]=> object(DateTime)#264 (3) { ["date"]=> string(19) "2010-11-20 22:15:12" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "America/New_York" }..}

Самым неприятным моментом является то, что аналогичный класс, использующий те же пакеты, выполняется без ошибок при вставке даты и времени таким же образом.

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 21 ноября 2010

Похоже, проблема локали.Чтобы преодолеть, напишите свои строки в формате ISO 8601 , т.е.ГГГГММДД

2010/21/11
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...