2010-10-26 14 views
5

हमें एक ही डीबी स्कीमा में अलग-अलग भाषा के चार डेटा स्टोर करने की आवश्यकता है। ओरेकल 10 जी हमारे डीबी है। मुझे आशा है कि जो कोई पहले से ही कर चुका है, वह मुझे एक ऑरैकल 10 जी डीबी सक्षम करने के तरीके के बारे में अधिक विशिष्ट निर्देश देगा। हमें बस डीबी स्तर पर कई स्थानीय लोगों के साथ-साथ संयोजन (सभी प्रमुख डीबी के समर्थन की उम्मीद) से डेटा स्टोर करने की आवश्यकता है। हमें तिथियों, डेटाटाइम, संख्याओं, मुद्रा इत्यादि के स्वरूपण की आवश्यकता नहीं हैऑरैकल और i18n समर्थन

मैंने ओरेकल के i18n समर्थन पर कुछ दस्तावेज पढ़े लेकिन कुछ हद तक उनके nls_ * गुणों के बारे में उलझन में पढ़ा। क्या मुझे nls_lang या nls_language या NLS_CHARACTERSET का उपयोग करना चाहिए .....

उत्तर

6

मान लें कि आप स्क्रैच से डेटाबेस बना रहे हैं, किसी अन्य डेटाबेस को पुन: स्थापित करने का प्रयास नहीं कर रहे हैं जो अन्य समस्याओं का परिचय देता है।

डेटाबेस में, आपको यह सुनिश्चित करने की आवश्यकता है कि डेटाबेस वर्ण सेट उन सभी पात्रों का समर्थन करता है जिन्हें आप स्टोर करना चाहते हैं। संभवतः, इसका मतलब डेटाबेस के NLS_CHARACTERSET को AL32UTF8 पर सेट करना है। निजी तौर पर, मैं एनएलएस_LENGTH_SEMANTICS को CHAR में भी सेट करना पसंद करता हूं। यह V बार्ट्स के बजाए स्टोरेज के एन अक्षरों को आवंटित करने के लिए VARCHAR2 (n) के डिफ़ॉल्ट व्यवहार को बदलता है। चूंकि AL32UTF8 एक परिवर्तनीय-लंबाई वर्ण सेट है, बाइट सेमेटिक्स का उपयोग करना आम तौर पर समस्याग्रस्त है क्योंकि आपको या तो फ़ील्ड घोषित करना है जो 3 गुना लंबा है और अलग-अलग उपयोगकर्ताओं को एक ही फ़ील्ड में अलग-अलग वर्णों में प्रवेश करने में सक्षम होने के साथ समाप्त होता है।

NLS_LANG एक ग्राहक सेटिंग है। यह उस चरित्र सेट की पहचान करता है जिसे क्लाइंट डेटा का अनुरोध करने जा रहा है। यह आमतौर पर ऑपरेटिंग सिस्टम के कोड पेज पर निर्भर करता है। स्पष्ट उत्तर के लिए

+0

thx। AL32UF8 का अर्थ क्या है। क्या यह यूटीएफ 8 से अलग है? –

+1

AL32UTF8 UTF8 ver है। 3.1 – walla

+0

धन्यवाद। Http://oracleappstechnology.blogspot.com/2007/10/difference-between-utf8-and-al32utf8.html –