/ / ORA-01017 प्राप्त करना: अमान्य उपयोगकर्ता नाम / पासवर्ड; टॉमकैट 6 में एक डेटा स्रोत बनाने की कोशिश करते समय लॉगऑन से इनकार किया गया - ओरेकल, टॉमकैट, सर्वलेट्स, डेटा स्रोत, ओर -0101

"ORA-01017 प्राप्त करना: अवैध उपयोगकर्ता नाम / पासवर्ड; लॉगऑन ने इनकार किया "जब टोमकैट 6 - ऑरैकल, टोमकैट, सर्वलेट्स, डेटासोर्स, ओरा -01017 में डेटा स्रोत बनाने की कोशिश की जा रही है

एक आवेदन के लिए टॉमकैट में एक डेटा स्रोत स्थापित करने की कोशिश कर रहे मेरे बाल खींच रहा है। मेरे द्वारा उठाए गए कदम हैं

  1. निम्नलिखित सामग्री के साथ एक META-INF / reference.xml बनाएं

    <Context>
    <Resource name="jdbc/mydb"
    auth="Container"
    type="javax.sql.DataSource"
    driverClassName="oracle.jdbc.OracleDriver"
    url="jdbc:oracle:thin:@gpqa6.myserver.com:1526:gpqa6"
    username="foo"
    password="foobar"
    maxActive="20"
    maxIdle="30"
    maxWait="-1" />
    </Context>
    
  2. WEB-INF / web.xml में निम्नलिखित पाठ दर्ज करें

    <resource-ref>
    <description>Datasource</description>
    <res-ref-name>jdbc/mydb</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    
  3. कोड में इसका उपयोग करना

    public class MyServlet extends HttpServlet {
    
    private DataSource ds;
    
    public void init() {
    
    try {
    Context ctx = new InitialContext();
    ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mydb");
    
    } catch (NamingException e) {
    e.printStackTrace();
    }
    }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    //this is where the exception is thrown
    Connection conn = ds.getConnection();
    
    //...do stuff with the connection
    }
    

लेकिन निम्नलिखित त्रुटि प्राप्त करते रहें

"मैपिंग के दौरान एनकाउंटर अपवाद। त्रुटि: पूल करने योग्य निर्माण नहीं कर सकता है (ORA-01017: अमान्य उपयोगकर्ता नाम / पासवर्ड; लॉगऑन अस्वीकृत ) org.apache.tomcat.dbcp.dbcp.SQLNestedException: PoolableConnectionFactory (ORA-01017: अमान्य उपयोगकर्ता नाम / पासवर्ड; लॉगऑन अस्वीकृत) नहीं बना सकता

मुझे पता है कि उपयोगकर्ता नाम और पासवर्ड सही हैं। क्योंकि निम्न कोड काम करता है

    Class.forName("oracle.jdbc.OracleDriver").newInstance();
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@gpqa6.myserver.com:1526:gpqa6", "foo", "foobar");

मैंने एक अमान्य url दर्ज करने की कोशिश की, लेकिन फिर भी वही त्रुटि मिली। क्या चल रहा है ???

इसके अलावा, क्या टॉमकैट का वेबलॉजिक या ग्लासफिश के समान डेटा स्रोत के परीक्षण का कोई तरीका है?

उत्तर:

जवाब के लिए 3 № 1

अब यह काम कर रहा है। जैसे कि मैं निम्नलिखित कोड के साथ एक संबंध स्थापित करता हूं

    Class.forName("oracle.jdbc.OracleDriver").newInstance();
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@gpqa6.myserver.com:1526:gpqa6", "foo", "foobar");

फिर डेटा स्रोत का उपयोग करके वापस स्विच करना, यह ठीक है। शायद यह एक कैशिंग मुद्दा है?

--अद्यतन करें-- यह एक कैशिंग मुद्दा है। Ijust को ConfCatalina फ़ोल्डर को हटाना होगा

इस लिंक ने वास्तव में मदद की। http://pwu-developer.blogspot.com/2010/02/why-isnt-my-datasource-configuration.html