我正在使用神谕,我收到了这个错误:
无法将数据库值“17-11-12.17.33AM”转换为Doctrine。预期格式: Y-m-d H:i:s
另外,我不能创建新的行,因为甲骨文抱怨日期时间格式。
我知道mysql日期时间格式和oracle 1是不同的。
据我所知,您可以在symfony 2中使用理论听众:
http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.html
而且,有一个理论听者是为了解决这个问题而创立的:
Doctrine/DBAL/Event/Listeners/OracleSessionInit.php
问题是,在symfony 2中,您是如何打开它的。
发布于 2011-11-17 23:57:02
看来这次我会回答自己的。
您必须使用事件标记将其添加为服务。
app/config/config.yml
services:
my.listener:
class: Doctrine\DBAL\Event\Listeners\OracleSessionInit
tags:
- { name: doctrine.event_listener, event: postConnect }my.listener是侦听器的任意名称。
发布于 2014-04-16 13:05:02
在我的例子中,甲骨文是第二个连接(存储在 Oracle 键下)。应用程序还使用了PostgreSQL (存储在默认键下)。
问题是侦听器是在默认数据库(PostgreSQL)上执行的。因此,我将代码更改为:
services:
my.oracle.listener:
class: Doctrine\DBAL\Event\Listeners\OracleSessionInit
tags:
- { name: doctrine.event_listener, event: postConnect, connection: oracle }一切都很好!
发布于 2016-11-14 16:42:17
我认为这个链接会帮助你:
使用Symfony2和Doctrine 2连接到Oracle。
Oracle将Oracle类型映射为Doctrine的" DATE“类型,而不是Oracle driver
https://gist.github.com/johnkary/6481664#file-oracledoctrinetypemappinglistener-php
https://stackoverflow.com/questions/8168161
复制相似问题