首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Doctrine OracleSessionInit侦听器和Symfony2?

如何使用Doctrine OracleSessionInit侦听器和Symfony2?
EN

Stack Overflow用户
提问于 2011-11-17 13:49:44
回答 3查看 3.8K关注 0票数 15

我正在使用神谕,我收到了这个错误:

无法将数据库值“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中,您是如何打开它的。

EN

回答 3

Stack Overflow用户

发布于 2011-11-17 23:57:02

看来这次我会回答自己的。

您必须使用事件标记将其添加为服务。

代码语言:javascript
复制
app/config/config.yml 

services:
    my.listener:
        class: Doctrine\DBAL\Event\Listeners\OracleSessionInit 
        tags:
            - { name: doctrine.event_listener, event: postConnect }

my.listener是侦听器的任意名称。

票数 17
EN

Stack Overflow用户

发布于 2014-04-16 13:05:02

在我的例子中,甲骨文是第二个连接(存储在 Oracle 键下)。应用程序还使用了PostgreSQL (存储在默认键下)。

问题是侦听器是在默认数据库(PostgreSQL)上执行的。因此,我将代码更改为:

代码语言:javascript
复制
services:
    my.oracle.listener:
        class: Doctrine\DBAL\Event\Listeners\OracleSessionInit
        tags:
            - { name: doctrine.event_listener, event: postConnect, connection: oracle }

一切都很好!

票数 10
EN

Stack Overflow用户

发布于 2016-11-14 16:42:17

我认为这个链接会帮助你:

使用Symfony2和Doctrine 2连接到Oracle。

Oracle将Oracle类型映射为Doctrine的" DATE“类型,而不是Oracle driver

  • Properly的" DateTime”类型,从而将配置为使用大多数常见的Oracle和DateTime环境配置。你可能需要也可能不需要这个。检查甲骨文服务器配置

https://gist.github.com/johnkary/6481664#file-oracledoctrinetypemappinglistener-php

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8168161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档