2011-01-26 20 views
6

के साथ जावा से SQL सर्वर से कनेक्ट करना मैं जावा से स्थानीय डेटाबेस (SQL सर्वर 2008) से कनेक्ट करने का प्रयास कर रहा हूं। मैंने प्रति ग्राहक आवश्यकताओं के लिए टीसीपी कनेक्शन अक्षम कर दिए हैं और मैं कनेक्ट नहीं कर सकता। मुझे सेवा SQL सर्वर ब्राउज़र भी अक्षम करना है।टीसीपी अक्षम

मैं जावा में अगले स्टेटमेंट लिखें:

conexion = DriverManager.getConnection("jdbc:sqlserver://localhost\\SQLEXPRESS;user=user;password=password"); 

और मैं निम्नलिखित त्रुटि है:

"java.net.SocketTimeoutException: Receive timed out". (then it tells me that probably there is a firewall and that I should run the SQL Server Browser).

अगर मैं Microsoft SQL सर्वर प्रबंधन स्टूडियो से कनेक्ट करने के लिए कोशिश करते हैं और मैं whith कनेक्ट कर सकते हैं एक ही पैरामीटर:

Server type: Database Engine 
Server name: localhost\SQLEXPRESS 
Authentication: SQL Server Authentication 
User: user 
Password: password 

मैं अगर मैंने कुछ गलत मैं जावा लेकिन वर्ग कर रहा हूँ पता नहीं है एल सर्वर मैनेजमेंट स्टूडियो वास्तव में एक ग्राहक है, इसलिए यदि यह किसी क्लाइंट को कनेक्ट कर सकता है तो क्या कर सकता है।

कृपया उत्तर दें। अगर आपको अधिक जानकारी चाहिए तो बस इसके लिए पूछें।

उत्तर

5

दुर्भाग्यवश, माइक्रोसॉफ्ट के जेडीबीसी ड्राइवर SQLServer के नामित पाइप कनेक्शन का समर्थन नहीं करता है। आप उपयोग करने के लिए खोजने और वैकल्पिक जेडीबीसी ड्राइवर का प्रयास कर सकते हैं।

jTDS पर एक नज़र डालें। यह मुफ़्त, खुला स्रोत है, और यह नामित पाइप का उपयोग कर SQLServer से कनेक्ट होता है।

+0

हाय। उत्तर देने के लिए धन्यवाद। मैं जेटीडीएस के साथ प्रयास करूंगा, लेकिन मैंने पाइपर को भी अक्षम कर दिया है, मैं साझा मेमोरी का उपयोग करना चाहता हूं। मुझे लगता है कि यह किया जा सकता है क्योंकि मेरा क्लाइंट उसी कॉन्फ़िगरेशन के साथ .net से उसी डेटाबेस में कनेक्ट हो सकता है।मैं जेटीडीएस कोशिश करूंगा लेकिन मुझे लगता है कि बहुत दुखद है कि माइक्रोसॉफ्ट ड्राइवर में सभी सुविधाएं नहीं हैं। – user589155

+0

यहां jtds उदाहरण है: http://stackoverflow.com/questions/11345746/connecting-to-sql-server-localdb-using-jdbc/24412037#24412037 – Vadzim

1

मुझे लगता है कि आप SQL Server Express संस्करण का उपयोग कर रहे हैं विजुअल स्टूडियो 2010 के साथ आया था। अन्य संस्करण के लिए समान समाधान होना चाहिए लेकिन मैंने परीक्षण नहीं किया है।

  1. टीसीपी/आईपी प्रोटोकॉल सक्षम करें: यहाँ समाधान है। प्रारंभ मेनू से "SQL सर्वर कॉन्फ़िगरेशन प्रबंधक" खोजें, "SQL सर्वर नेटवर्क कॉन्फ़िगरेशन" का विस्तार करें और "SQLEXPRESS के लिए प्रोटोकॉल" पर क्लिक करें, "टीसीपी/आईपी" पर डबल क्लिक करें और "सक्षम" संपत्ति को "हां" में बदलें। "आईपी पते" टैब को चेक करें और उन IP पतों को सक्षम करें जिन्हें आप उपयोग करना चाहते हैं (आमतौर पर "127.0.0.1")।

  2. SQL सर्वर में उपयोगकर्ता को सक्षम करें। प्रेस जीत + आर, में टाइप करें "। Sqlcmd -S \ SQLEXPRESS" और चलाने के निम्न कमांड:

    ALTER LOGIN sa ENABLE; 
    GO 
    ALTER LOGIN sa WITH PASSWORD='StrongPassword1!' 
    GO 
    
  3. बदलें स्पष्ट लॉगिन को सक्षम करने के लिए प्रवेश मोड। प्रेस जीत + आर बार, "regedit" टाइप खोजने के निम्नलिखित प्रमुख

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQLServer 
    

    और फिर 2.

  4. टेस्ट करने के लिए विन्यास मूल्य "LoginMode" में बदलें। विजुअल स्टूडियो 2010 में एक परीक्षण कनेक्शन बनाएं, उपयोगकर्ता नाम "sa" और पासवर्ड "StrongPassword1!" का उपयोग करता है। यदि आप कनेक्ट कर सकते हैं तो आपको जेडीबीसी के माध्यम से भी कनेक्ट करने में सक्षम होना चाहिए।

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