2013-06-28 3 views
12

के लिए लॉगिन विफल रहा है मैंने एक बहुत ही सरल जेडीबीसी लॉगिन परीक्षा कार्यक्रम लिखा है। और सभी प्रकार की समस्याओं के बाद मुझे लगभग काम मिल गया है। लगभग, ऐसा लगता है कि "SQLServerException: लॉग इन उपयोगकर्ता XXXXX" समस्या के लिए विफल रहा है।एसक्यूएल सर्वर: उपयोगकर्ता

मैंने एक साधारण डेटाबेस PersonInfo बनाया है तो मैंने उपयोगकर्ता उपयोगकर्ता 1 पासवर्ड 1 (एसक्यूएल स्वाभाविकता) बनाया है। और कोशिश करने के बाद सब कुछ डेटाबेस से कनेक्ट करने में असमर्थ था।

मैं Win 7 पर SqlServer2008 का उपयोग कर रहा हूं, मुझे माइक्रोसॉफ्ट से नवीनतम जेडीबीसी ड्राइवर मिला है।

मेरे कोड है:

import java.sql.*; 

public class hell { 
public static void main(String[] args) { 

    try { 
     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); 
Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=PersonInfo;user=Sohaib;password=0000;"); 


System.out.println("connected"); 
     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
} 

यहाँ अपवाद किसी तरह SqlServer गुरु या JDBC गुरु मुझ पर दया करने तक

Exception: Unable to get connect 
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'Sohaib'. 
and all other supporting errors.. 

दुर्भाग्य से मैं अब कर रहा हूँ पानी में मर चुका है और मुझे बाहर में मदद करता है।

अग्रिम धन्यवाद।

+0

, जो इस कारण बन सकता है चीजों के एक नंबर हो सकता है - http://stackoverflow.com/questions/6403636/connecting-sql-server-2008-to-java-login- पर एक नज़र असफल-उपयोगकर्ता-त्रुटि? rq = 1 और देखें कि कोई भी सुझाव आपकी सहायता करता है या नहीं। – DrewCo

+0

यदि आपने डेटाबेस में "user1 password1" बनाया है तो आपको निश्चित रूप से अपनी कनेक्शन स्ट्रिंग में "user1 password1" का उपयोग करना चाहिए। क्या उपयोगकर्ता 1 के पास पर्याप्त अधिकार हैं? एक और संकेत: क्या आपने एसक्यूएल सर्वर प्रबंधन स्टूडियो में उपयोगकर्ता 1 को कनेक्ट करने का प्रयास किया था? – gartenabfall

उत्तर

49

क्या आपका SQL सर्वर 'मिश्रित मोड प्रमाणीकरण' में है? Windows लॉगिन के बजाय SQL सर्वर खाते से लॉगिन करना आवश्यक है।

आप सर्वर के गुणों की जाँच और उसके बाद सुरक्षा कर इसकी पुष्टि कर सकते हैं, यह होना चाहिए 'एसक्यूएल सर्वर और Windows प्रमाणीकरण मोड'

यह समस्या तब होती है उपयोगकर्ता क्रेडेंशियल कि नहीं किया जा सकता से लॉग इन करने का प्रयास करे मान्य। यह समस्या निम्न परिदृश्यों में हो सकती है:

परिदृश्य 1: लॉगिन SQL सर्वर लॉगिन हो सकता है लेकिन सर्वर केवल Windows प्रमाणीकरण स्वीकार करता है।

परिदृश्य 2: आप SQL सर्वर प्रमाणीकरण का उपयोग करके कनेक्ट करने का प्रयास कर रहे हैं लेकिन उपयोग किया गया लॉगिन SQL सर्वर पर मौजूद नहीं है।

परिदृश्य 3: लॉगिन विंडोज प्रमाणीकरण का उपयोग कर सकता है लेकिन लॉगिन एक अपरिचित विंडोज प्रिंसिपल है। एक अपरिचित विंडोज प्रिंसिपल का मतलब है कि विंडोज लॉगिन को सत्यापित नहीं कर सकता है। ऐसा इसलिए हो सकता है क्योंकि विंडोज लॉगिन एक अविश्वसनीय डोमेन से है।

यह भी संभव है कि उपयोगकर्ता गलत जानकारी डाल सके।

http://support.microsoft.com/kb/555332

1

मैं जब Azure में मेरी एसक्यूएल डीबी कनेक्ट करने का प्रयास (एसक्यूएल-CLI का प्रयोग करके) एक ही त्रुटि संदेश मिला। सरल समाधान इस तरह एकल उद्धरण के साथ पासवर्ड से बचने के लिए किया गया था:

mssql -s server.database.windows.net -u [email protected] -p 'your_password' -d your_db -e 
0

भी सुनिश्चित करें कि खाता उपयोगकर्ता गुण में बाहर लॉक नहीं हैं "स्थिति" टैब

0

Can not connect to the SQL Server. The original error is: Login failed for user 'username'. त्रुटि के लिए, MSSQL सर्वर पर पोर्ट आवश्यकताओं पक्ष को पूरा करने की जरूरत है।

विंडोज पोर्ट फ़ायरवॉल पर कॉन्फ़िगर करने के लिए डिफ़ॉल्ट पोर्ट 1433 से परे अन्य बंदरगाह हैं।

https://stackoverflow.com/a/25147251/1608670

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