2011-11-17 12 views
13

मैं ओरेकल उपयोग कर रहा हूँ और मैं इस त्रुटि प्राप्त कर रहा हूँ:Symfony2 के साथ Doctrine OracleSessionInit श्रोता का उपयोग कैसे करें?

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

इसके अलावा, मैं नई पंक्तियाँ बनाने नहीं कर सकते क्योंकि datetime स्वरूप के बारे में ओरेकल शिकायतों।

मुझे पता है कि mysql डेटाटाइम प्रारूप और ऑरैकल एक अलग हैं।

मैं समझता हूँ कि आप सिम्फोनी 2 के साथ सिद्धांत श्रोताओं का उपयोग कर सकते हैं:

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

और, वहाँ एक सिद्धांत श्रोता इस समस्या को हल करने के लिए बनाया:

सिद्धांत/DBAL/घटना/श्रोता/OracleSessionInit.php

सवाल यह है कि वास्तव में अपने यह सिम्फोनी में मोड़ पर 2.

+0

धन्यवाद, तुम मुझे इतना समय बचा लिया !!! नोट: ऐसा लगता है कि सिम्फनी 3 –

उत्तर

15

खैर है ऐसा प्रतीत होता है कि मैं इस बार खुद का जवाब दूंगा।

आपको ईवेंट टैग का उपयोग करके इसे एक सेवा के रूप में जोड़ना होगा।

app/config/config.yml 

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

my.listener श्रोता के लिए मनमाना नाम है।

7

मेरे मामले में ओरेकल एक दूसरा कनेक्शन था (ऑरैकल कुंजी के तहत संग्रहीत)। एप्लिकेशन ने PostgreSQL का उपयोग भी किया (डिफ़ॉल्ट कुंजी के तहत संग्रहीत)।

समस्या यह थी कि श्रोता डिफ़ॉल्ट डेटाबेस (PostgreSQL) पर निष्पादित किया गया था। तो मैं करने के लिए कोड बदल दिया है:

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

और यह सब ठीक काम करता है!

-2

मुझे लगता है कि इस लिंक से आपको मदद मिलेगी:

Symfony2 और सिद्धांत 2. साथ Oracle से कनेक्ट हो रहा

  1. मानचित्र सिद्धांत का "अब तक" करने के लिए Oracle की दिनांक प्रकार ओरेकल ड्राइवर
  2. के लिए "datetime" के बजाय टाइप
  3. सबसे सामान्य ओरेकल दिनांक और दिनांक समय पर्यावरण विन्यास का उपयोग करने के लिए सिद्धांत को उचित रूप से कॉन्फ़िगर करता है। आपको इसकी आवश्यकता हो सकती है या नहीं। अपने Oracle सर्वर विन्यास की जाँच करें

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

+0

के साथ भी एक संभावित समाधान का एक लिंक हमेशा स्वागत है, लेकिन कृपया [लिंक के चारों ओर संदर्भ जोड़ें] (// meta.stackoverflow.com/a/8259) ताकि आपके साथी उपयोगकर्ताओं के पास कुछ हो विचार करें कि यह क्या है और यह क्यों है। यदि लक्षित साइट पहुंच योग्य नहीं है या स्थायी रूप से ऑफलाइन हो जाती है, तो हमेशा एक महत्वपूर्ण लिंक के सबसे प्रासंगिक भाग को उद्धृत करें। ध्यान दें कि * किसी बाहरी साइट के लिंक से शायद ही कभी * एक [आपके उत्तर को हटाने का संभावित कारण] है (// stackoverflow.com/help/deleted-answers)। –

संबंधित मुद्दे