क्या होता है, कि जेडीबीसी क्लाइंट सर्वर पर टाइमज़ोन आईडी भेजता है। सर्वर को उस क्षेत्र को जानने की जरूरत है। आप देख सकते हैं
SELECT DISTINCT tzname FROM V$TIMEZONE_NAMES where tzname like 'Etc%';
साथ मैं कुछ db सर्वर जो 'आदि/यूटीसी' और 'यूटीसी' (संस्करण 18 tzfile) के बारे में जानते हैं, लेकिन दूसरों को केवल 'यूटीसी' (TZ संस्करण 11) पता है।
SELECT FILENAME,VERSION from V$TIMEZONE_FILE;
जेडीबीसी ग्राहक पक्ष पर भी अलग व्यवहार है। 11.2 से शुरू होने पर ड्राइवर को ज़ोन आईडी भेजी जाएगी यदि यह ओरेकल को "ज्ञात" है, जबकि इससे पहले ऑफसेट भेजा गया था। इस "ज्ञात आईडी भेजने" के साथ समस्या यह है कि क्लाइंट सर्वर पर कौन सा टाइमज़ोन संस्करण/सामग्री मौजूद नहीं है, इसकी जांच करता है लेकिन इसकी अपनी सूची है।
यह ओरेकल समर्थन आलेख [आईडी 1068063.1] में समझाया गया है।
ऐसा लगता है कि यह क्लाइंट ओएस पर भी निर्भर करता है, यह अधिक संभावना है कि एटीसी/यूटीसी आरएचईएल या विंडोज की तुलना में उबंटू के साथ विफल हो। मुझे लगता है कि यह कुछ सामान्यीकरण के कारण है, लेकिन मुझे पता नहीं लगा कि वास्तव में क्या है।
हमें अपने पर्यावरण के बारे में बताएं, आप अपना जावा कैसे चलाते हैं? –
मैं कमांड लाइन पर जावा एप्लिकेशन चला रहा हूं। विंडोज 7 64 बिट, लेकिन ओरेकल डीबी रिमोट यूनिक्स सर्वर पर चल रहा है। – ndalama
अपने आदेश में "-Duser.timezone =" जोड़ने का प्रयास करें, अपने जीएमटी के साथ को प्रतिस्थापित करना न भूलें, यानी- Duser.timezone = "+ 05:30" –