Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

जेडीबीसी के माध्यम से यूजर पासवर्ड बदलें। प्रश्न चिह्न वाले पास की समस्या

Oracle उपयोगकर्ता का पासवर्ड बदलने के लिए JDBC का उपयोग करने के लिए आपको दो काम करने होंगे:

  • पासवर्ड को सीधे SQL स्ट्रिंग में डालें (बाइंड पैरामीटर का उपयोग नहीं किया जा सकता),
  • एस्केप प्रोसेसिंग अक्षम करें।

आप बाइंड वेरिएबल्स का उपयोग नहीं कर सकते क्योंकि उपयोगकर्ता नाम और पासवर्ड डेटाबेस को एकल-उद्धृत स्ट्रिंग्स के रूप में नहीं भेजे जाते हैं।

? SQL स्ट्रिंग में एक बाइंड वेरिएबल प्लेसहोल्डर के रूप में लिया जा रहा है, और इस वजह से Oracle JDBC द्वारा SQL स्ट्रिंग को किसी बिंदु पर उलझाया जा रहा है। स्टेटमेंट पर एस्केप प्रोसेसिंग को अक्षम करना ऐसा होने से रोकता है। कोशिश करें:

Statement s = conn.createStatement();
s.setEscapeProcessing(false);
s.executeUpdate("ALTER user Stephen identified by \"newPassword?\" replace \"oldPassword\"");

यदि आप पासवर्ड को प्रोग्रामेटिक रूप से सेट कर रहे हैं, तो आपके कोड को यह भी सुनिश्चित करना चाहिए कि नए और पुराने पासवर्ड में कोई " नहीं है। वर्ण, SQL इंजेक्शन से बचने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. वेब्रिक प्रतिक्रिया देने में बहुत धीमा है। इसे कैसे तेज करें?

  2. Oracle RAW आईडी कॉलम और JDBC

  3. चयन कथन में गतिशील तालिका का नाम

  4. एसक्यूएल (ओरेकल) अतिव्यापी अंतराल की संख्या की गिनती

  5. Oracle से JDBC- अनुरूप डेटाबेस को पाई जितना आसान क्यों नहीं क्वेरी कर रहा है?