में लोड किया गया है मेरे पास 2 जावा वेब ऐप्स हैं जिन्हें Windows एकीकृत प्रमाणीकरण का उपयोग कर SQL सर्वर डेटाबेस से कनेक्ट करने की आवश्यकता है।मूल पुस्तकालय sqljdbc_auth.dll पहले से ही किसी अन्य क्लासलोडर
पहले एक है कि लोड किया जाता है ठीक काम करता है, लेकिन दूसरा एक अपवाद फेंकता है:
Native Library sqljdbc_auth.dll already loaded in another classloader
ऊपर त्रुटि तब होती है जब मैं एक फ़ोल्डर में sqljdbc_auth.dll जगह:
- C: \ WINDOWS \ system32 \
- C: \ Program Files \ Apache सॉफ्टवेयर फाउंडेशन \ बिलाव 7.0 \ बिन \
मैं नीचे से एक फ़ोल्डर में sqljdbc_auth.dll जगह:
- /वेब-INF/lib प्रत्येक वेब अनुप्रयोग की निर्देशिका
- C: \ Program Files \ Apache सॉफ्टवेयर फाउंडेशन \ बिलाव 7.0 \ lib \ +०१२३५१६४१०: मैं ड्राइवर लोड करने के लिए इस कोड का उपयोग कर रहा
Failed to load the sqljdbc_auth.dll cause :- no sqljdbc_auth in java.library.path
:
अपवाद फेंक
Class.forName("jdbc:sqlserver://<HOST>;databaseName=<DBNAME>;integratedSecurity=true;");
मैं इसे कैसे हल कर सकता हूं?
जैसा कि मैंने अपने प्रश्न में कहा था, मैंने डीएलएल को पहले टोमकैट 7.0/lib में डालने की कोशिश की थी। आपके उत्तर के बाद, मैंने टॉमकैट 7.0/lib * s * बनाया और DLL को वहां रखा, और मुझे एक ही त्रुटि मिली: sqljdbc_auth.dll कारण लोड करने में विफल: - java.library.path – Gustavo
में कोई sqljdbc_auth नहीं है I लिंक में पहले टॉमकैट क्लासलोडर के बारे में पढ़ा है: http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html लेकिन ऐसा लगता है कि टॉमकैट केवल .jar फ़ाइलों को लोड करता है , .dll फ़ाइलों नहीं। – Gustavo
ठीक है, स्पष्टीकरण के लिए, आपको टॉमकैट/बिन फ़ोल्डर और jdbc ** jAR ** फ़ाइल में टॉमकैट/lib फ़ोल्डर में डीएल डालना होगा (क्षमा करें, lib पर अतिरिक्त एस पर मेरी गलती क्षमा करें, जिसे मैंने अभी सही किया है) –