I am using oracle and I am recieving this error:
Could not convert database value "17-NOV-11 12.17.33 AM" to Doctrine Type datetime. Expected format: Y-m-d H:i:s
Also I can´t create new rows because oracle complaints about the datetime format.
I know that mysql datetime format and oracle one are different.
I understand that you can use doctrine listeners with symfony 2:
http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.html
And, there´s a doctrine listener created to fix this issue:
Doctrine/DBAL/Event/Listeners/OracleSessionInit.php
The question is how Exactly your turn it on in symfony 2.
Well It appears I will answer myself this time.
You have to add it as a service using the event tag.
app/config/config.yml
services:
my.listener:
class: Doctrine\DBAL\Event\Listeners\OracleSessionInit
tags:
- { name: doctrine.event_listener, event: postConnect }
my.listener is an arbitrary name for the listener.
In my case Oracle was a second connection (stored under oracle key). The application also used PostgreSQL (stored under default key).
The problem was that Listener was executed on the default database (PostgreSQL). So I changed code to:
services:
my.oracle.listener:
class: Doctrine\DBAL\Event\Listeners\OracleSessionInit
tags:
- { name: doctrine.event_listener, event: postConnect, connection: oracle }
And all works fine!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With