अपने आवेदन में मैं सी कोड का उपयोग करके डेटाबेस में डेटा सम्मिलित करता हूं, क्योंकि मैं एक अविश्वसनीय स्रोत से प्राप्त होने वाले तार से मैं उन्हें PQescapeByteaConn
libpq लाइब्रेरी का उपयोग करके बच गया हूं । जो पूरी तरह से ठीक काम कर रहा है यानी ऑक्टेट प्रारूप स्ट्रिंग में परिणाम। नीचे उदाहरण देखें,
इनपुट स्ट्रिंग : \n\t\f\b\p\k\j\l\mestPrepared
आउटपुट स्ट्रिंग: \\012\\011\\014\\010pkjlmestPrepared
डेटाबेस में आउटपुट स्ट्रिंग डाला जाता है। अब मैं JDBC का उपयोग करके एक जावा कोड में डेटाबेस से उस डेटा को पुनः प्राप्त करता हूं। मैं स्ट्रिंग को उसके मूल मान से कैसे हटा सकता हूं?
मैंने दो संभावित दृष्टिकोणों के बारे में सोचा,
- डेटाबेस पुनर्प्राप्ति क्वेरी को बदलें और इस फ़ील्ड को पोस्टग्रेज के किसी भी स्ट्रिंग हेरफेर फ़ंक्शन से गुजारें अर्थात जो पाठ से पाठ में परिवर्तित हो सकता है।
- जावा कोड में डिकोडिंग करें।
मैं समझ सकता हूं कि दृष्टिकोण 1 अधिक कुशल होगा। मैंने यहां सूचीबद्ध लगभग सभी कार्यों की कोशिश की है, लेकिन कुछ भी काम नहीं कर रहा है। कृपया सहायता कीजिए!!
मैं एक linux मशीन पर पोस्टग्रेज के 8.4 संस्करण का उपयोग कर रहा हूं।
ResultSet.getBytes()
?