हम एक ओरेकल डेटाबेस द्वारा समर्थित जावा एप्लिकेशन का निर्माण कर रहे हैं जिसे हम जेडीबीसी (ड्राइवर ojdbc6.jar
और orai18n.jar
) का उपयोग करके एक्सेस करते हैं। डेटाबेस स्कीमा मुख्य रूप से NVARCHAR2
डेटा प्रकार का उपयोग कर टेक्स्ट कॉलम संग्रहीत करता है।क्या मुझे getString() के बजाय जेडीबीसी getNString() का उपयोग करना चाहिए?
JDBC documentation JDBC ResultSet
के लिए कहा गया है कि विशेष रूप से getNString()
NCHAR, NVARCHAR आदि डेटा प्रकार के साथ प्रयोग के लिए बनाया गया है, लेकिन इस समय हम केवल getString()
उपयोग कर रहे हैं।
यह ठीक काम करता प्रतीत होता है, इसलिए मुझे आश्चर्य है कि मुझे के बजाय getNString()
का उपयोग क्यों करना चाहिए। getString()
गैर-ASCII वर्ण दर्ज किए जाने में असफल होने जा रहा है, या ओरेकल जेडीबीसी चालक उदासीन है कि मुझे किस विधि का उपयोग करना चाहिए?
संपादित करें: ऐसा लगता है कि यह डेटाबेस-निर्भर: SQL Server doesn't seem to mind which you use, कनेक्शन पैरामीटर के आधार पर हो सकता है। क्या किसी के पास ओरेकल पर कोई विशिष्ट जानकारी है?
मेरा सुझाव है कि आप उस परीक्षण को अपने रिग्रेशन सूट में जोड़ें यदि यह ओरेकल या जावा – artbristol
@artbristol के भविष्य के संस्करणों में बदलता है - यह एक बहुत अच्छा विचार है। ओरेकल कॉन्फ़िगरेशन में भी एक बदलाव संभावित रूप से एक रिग्रेशन का कारण बन सकता है (हालांकि मेरे पास यह मानने का कोई कारण नहीं है कि ओरेकल कॉन्फ़िगरेशन के अनुभव के अलावा) – Gnat