2010-05-10 17 views
5

के साथ सत्र टाइमज़ोन सेट करना मेरे पास वसंत/जेडीबीसी/ऑरैकल 10 जी एप्लीकेशन है। ओरेकल सर्वर डेटाबेस टाइमज़ोन जीएमटी + 2 पर सेट है JVM टाइमज़ोन जीएमटी + 2 है (भले ही यह मेरे मामले में कोई फर्क नहीं पड़ता)।स्प्रिंग जेडीबीसी ऑरैकल

मेरे पास एक संग्रहीत प्रक्रिया है जो कुछ दिनांक संचालन करती है। समस्या यह है कि सत्र टाइमज़ोन डेटाबेस टाइमज़ोन की तुलना में अलग (जीएमटी) है, भले ही मैं अपने कोड/कॉन्फ़िगरेशन में सत्र टाइमज़ोन स्पष्ट नहीं करता हूं।

जहां तक ​​मुझे पता है कि सत्र टाइमज़ोन डिफ़ॉल्ट रूप से डेटाबेस टाइमज़ोन के बराबर है। किसी भी विचार डेटाबेस टाइमज़ोन से सत्र टाइमज़ोन अलग क्यों है या मैं वसंत कॉन्फ़िगरेशन (org.apache.commons.dbcp.BasicDataSource) में इसे कैसे कॉन्फ़िगर कर सकता हूं?

धन्यवाद।

+1

आपका कौन सा सत्र मतलब है? ओरेकल कनेक्शन सत्र, या HTTP सत्र? पूर्व, मुझे लगता है? – skaffman

+0

यह आपकी समस्या का समाधान करता है? मुझे MySQL पर ऐसा करने की ज़रूरत है और मैं अभी भी यह देख रहा हूं कि इसे कैसे करें! –

+0

मेरे पास प्रश्न/पोस्ट हैं जो इस डेड मोड में रहते हैं !! कोई जवाब नहीं, कोई पुष्टि नहीं, कोई अटकलें नहीं !! –

उत्तर

6

सही तरीका, DelegatingDataSource का उपयोग मूल डेटा स्रोत से OracleConnection वस्तु पुनः प्राप्त करने और उचित पैरामीटर के साथ OracleConnection.setSessionTimeZone() कॉल करने के लिए है।

C3P0 कोड लगता है:

private Object[] timeZoneArgs = new Object[] { "Europe/Berlin" }; 

@Override 
public Connection getConnection() throws SQLException { 
    Connection conn = super.getConnection(); 
    try { 
     final Method setSessionTimeZoneMethod = OracleConnection.class.getMethod("setSessionTimeZone", String.class); 
     final C3P0ProxyConnection castCon = (C3P0ProxyConnection) conn; 
     castCon.rawConnectionOperation(setSessionTimeZoneMethod, C3P0ProxyConnection.RAW_CONNECTION, timeZoneArgs); 
     return conn; 
    } catch (Exception e) { 
     log.error("setSessionTimeZone failed " + e.getMessage()); 
     return conn; 
    } 
} 
1

मैं v11.2.0.3 को v10.2.0.1.0 से Oracle की JDBC ड्राइवर को अपग्रेड करके इस समस्या का समाधान। मेरे जावा कोड में कोई बदलाव आवश्यक नहीं था।

स्रोत: Spring forums

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