2011-06-15 4 views
8

मैं अपने आवेदन JTDS ड्राइवर का उपयोग करने से खिड़कियों प्रमाणीकरण का उपयोग Sql सर्वर डाटा बेस कनेक्ट करने के लिए कोशिश कर रहा हूँ की जाँच करें, लेकिन मैं त्रुटिजेटीडीएस ड्राइवर एसक्यूएल सर्वर 2008 आर 2 और डेनाली मूल एसएसपीआई पुस्तकालय के लिए काम नहीं कर रहा है। java.library.path प्रणाली संपत्ति

निम्नलिखित मिला एसएसओ विफल: मूल SSPI पुस्तकालय नहीं भरी हुई। Java.library.path सिस्टम प्रॉपर्टी देखें।

निम्न परिदृश्यों जहां मैं हल करने, लेकिन अभी भी कुछ याद आ रही है की कोशिश की ..

  1. मैं प्रणाली निर्देशिका में ntlmauth.dll जोड़ लिया है और यह Sql सर्वर के लिए ठीक काम करता है 2005
  2. लेकिन वही बात मैंने एसक्यूएल सर्वर 2008 आर 2 और डेनाली के लिए कोशिश की लेकिन यह मुझे वही त्रुटि देता है जैसा मैंने ऊपर बताया है
  3. इसके अलावा मुझे थोड़ा सा मतलब है कि मैंने सिस्टम निर्देशिका में x64 \ SSO \ path से ntlmauth.dll कॉपी किया है।

मुझे उलझन में है कि यह एसक्यूएल सर्वर 2008 आर 2 और डेनाली के लिए क्यों काम नहीं कर रहा है।

उत्तर

14

ntlmauth.dll फ़ाइल को अपने जावा रनटाइम पर्यावरण (उदा। C:\Program Files\Java\jre7\bin) के bin फ़ोल्डर में रखने का प्रयास करें।

डीवीएल के "बैथर" (32 बिट या 64 बिट) से जेवीएम सीढ़ी के साथ मेल खाना सुनिश्चित करें।

मैं SQL सर्वर एक्सप्रेस 2008 R2 का उपयोग कर एक ही समस्या में भाग गया और यह MSDN SQL Server Forum Article ने इस समाधान की सिफारिश की, जो मेरे लिए काम करता था।

+0

धन्यवाद यह काम किया !! :) –

+0

याद करने की एक आसान बात यह है कि यदि JVM और लाइब्रेरी के शब्द आकार के बीच कोई मेल नहीं है। तो यदि आप 32-बिट जावा चला रहे हैं और 64-बिट DLL है, तो यह लोड नहीं होगा। –

4

अपने JRE में सीधे डाल के अलावा, आप भी सिर्फ निर्दिष्ट कर सकते हैं java.library.path जैसे:

-Djava.library.path=C:\jtds-1.3.1-dist\x64\SSO 

ऊपर निर्देशिका तो ntlmauth.dll फ़ाइल

0

होते हैं DeChrist की प्रतिक्रिया के अलावा, मैं C:\Program Files\Java\jdk1.8.0_91\jre\bin के फ़ोल्डर में भी एक ही डीएलएल फ़ाइल को जोड़ना पड़ा। उस मामले में, यह मेरे लिए काम किया।

+1

यह मेरे लिए एक पूर्ण उत्तर की तुलना में एक टिप्पणी की तरह दिखता है। – Marcs

+2

मैंने एक टिप्पणी करने की कोशिश की लेकिन मेरे पास अभी तक _enough प्रतिष्ठा नहीं है। जैसा कि मैंने देखा, मैं इस समय अपने उत्तरों में ही कर सकता हूं। –

संबंधित मुद्दे