2011-11-17 22 views
13

Ben kahini kullanıyorum ve bu hatayı recieving am: Symfony2 ile Doktrin OracleSessionInit dinleyicisi nasıl kullanılır?

Could not convert database value "17-NOV-11 12.17.33 AM" to Doctrine Type datetime. Expected format: Y-m-d H:i:s

Ayrıca ben yeni satırlar oluşturmak veremeyiz datetime biçimi hakkında kahin şikayetler nedeniyle.

Mysql datetime biçiminin ve Oracle'ın farklı olduğunu biliyorum.

http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.html

Ve Bu sorunu gidermek için oluşturulan There'sa doktrin dinleyici:

Sana symfony 2 ile doktrin dinleyicileri kullanabilirsiniz anlıyoruz

Doktrini/DBal/Etkinlik/Dinleyiciler/OracleSessionInit.php

soru nasıl Tam olarak sizin symfony içinde dönüş it 2.

+0

Teşekkür edin !!! Not: Bu, Symfony 3 –

cevap

15

şey yolunda Görünüşe göre bu sefer kendime cevap vereceğim.

Olay etiketini kullanarak bir hizmet olarak eklemeniz gerekir.

app/config/config.yml 

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

my.listener dinleyicisi için keyfi bir isimdir.

7

Benim durumumda Oracle ikinci bir bağlantıydı (oracle anahtarında saklanır). Uygulama ayrıca PostgreSQL'i (varsayılan anahtarında saklanır) kullanmıştır.

Sorun, Dinleyicinin varsayılan veritabanında (PostgreSQL) yürütüldüğü idi. Yani kod değiştirildi:

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

Ve tüm iyi çalışıyor!

-2

Şu bağlantı size yardımcı olacaktır düşünüyorum: Symfony2'de ve Doktrin 2. ile Oracle bağlanma

    Doktrini yönettiği "tarihi" Oracle'ın TARİH tipi yerine Oracle sürücüsü için "datetime" nin tip
  1. Haritası
  2. En yaygın Oracle Date ve DateTime ortam yapılandırmalarını kullanmak için Doktrini doğru şekilde yapılandırır. Buna ihtiyacınız olabilir veya olmayabilir. Bana o kadar çok zaman kurtardı, Oracle sunucu yapılandırması

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

+0

ile de çalışıyor gibi görünüyor. Potansiyel bir çözümün bağlantısı her zaman bekler, ama lütfen [linkin etrafına bağlam ekleyin] (// meta.stackoverflow.com/a/8259) fikir nedir ve neden oradadır. Hedef siteye ulaşılamaması veya sürekli olarak çevrimdışı olması durumunda, her zaman önemli bir bağlantının en alakalı bölümünü belirtin. Unutmayın ki * harici bir siteye bir linkten daha fazla * bir cevaptır [cevabınızın silinmesi için olası bir sebep] (// stackoverflow.com/help/deleted-answers). –

İlgili konular