2009-02-12 11 views
13

मेरे विन्यास:एमएस एसक्यूएल सर्वर 2008 एक्सप्रेस के साथ एमएस जेडीबीसी ड्राइवर का उपयोग कैसे कर सकता हूं?

  • Windows XP SP3
  • JDBC 2005
  • एमएस एसक्यूएल सर्वर 2008 एक्सप्रेस, टीसीपी/आईपी के माध्यम से अवगत कराया बंदरगाह पर 1433
  • वर्ग रास्ते में sqljdbc.jar

मैंने कोशिश की:

try { 
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); 
    con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433/SQLEXPRESS2008;databaseName=Test;selectMethod=cursor", "sa", ""); 
} 
catch (Exception e) { 
    e.printStackTrace(); 
} 

लेकिन यह हमेशा एक अपवाद फेंकता है:

localhost:1433/SQLEXPRESS2008 

localhost/SQLEXPRESS2008 

localhost 

एक ही परिणाम:

java.sql.SQLException: No suitable driver 

मैं भी निम्नलिखित यूआरएल की कोशिश की। कोई मदद?

उत्तर

27

आपके पास गलत यूआरएल है।

मुझे नहीं पता कि "जेडीबीसी 2005" से आपका क्या मतलब है। जब मैंने माइक्रोसॉफ्ट साइट पर देखा, तो मुझे Microsoft SQL Server JDBC Driver 2.0 नामक कुछ मिली। आप इसे एक चाहते हैं - इसमें कई फिक्स और कुछ पेर्फ सुधार शामिल हैं। [संपादित करें: आप शायद नवीनतम ड्राइवर चाहते हैं। मार्च 2012 तक, माइक्रोसॉफ्ट का नवीनतम जेडीबीसी ड्राइवर JDBC 4.0]

रिलीज नोट्स की जांच करें। इस ड्राइवर के लिए, आप चाहते हैं:

URL: jdbc:sqlserver://server:port;DatabaseName=dbname 
Class name: com.microsoft.sqlserver.jdbc.SQLServerDriver 

ऐसा लगता है कि आपके पास कक्षा का नाम सही है, लेकिन यूआरएल गलत है।

माइक्रोसॉफ्ट ने जेडीबीसी चालक की प्रारंभिक रिलीज के बाद कक्षा का नाम और यूआरएल बदल दिया। यूआरएल जो आप उपयोग कर रहे हैं वह माइक्रोसॉफ्ट से मूल जेडीबीसी ड्राइवर के साथ जाता है, एक एमएस "एसक्यूएल सर्वर 2000 संस्करण" कहता है। लेकिन वह ड्राइवर एक अलग वर्ग नाम का उपयोग करता है।

सभी बाद के ड्राइवरों के लिए, यूआरएल मेरे यहां मौजूद फॉर्म में बदल गया।

यह जेडीबीसी चालक के रिलीज नोट्स में है।

+5

ऐसा लगता है कि अब एक v3.0 ड्राइवर उपलब्ध है (जो जेडीबीसी 4.0 अनुपालन है) http://msdn.microsoft.com/en-us/sqlserver/aa937724 – Nemi

+1

हां, इस उत्तर की जानकारी अब पुरानी है। मैं डेवलपर्स को एमएस वेबसाइट पर जाने और नवीनतम ड्राइवर प्राप्त करने की सलाह दूंगा।क्लासनाम और यूआरएल को सत्यापित करने के लिए रिलीज नोट्स भी पढ़ें। इस समय वे अपरिवर्तित हैं, लेकिन यह जांच करने के लिए समझ में आता है। – Cheeso

+1

मार्च 2012 तक, माइक्रोसॉफ्ट द्वारा प्रकाशित नवीनतम जेडीबीसी ड्राइवर v4.0 है: http://www.microsoft.com/en-us/download/details.aspx?id=11774 – Cheeso

-2

आप निम्न का प्रयास कर सकते हैं। मेरे मामले में ठीक काम करता है:

  1. डाउनलोड वर्तमान jTDS JDBC Driver
  2. रखें अपने classpath में jtds-x.x.x.jar।
  3. विंडोज़/system32 में ntlmauth.dll कॉपी करें। अपने हार्डवेयर x86, x64 ...
  4. कनेक्शन यूआरएल है: 'jdbc: jtds: sqlserver: // localhost: 1433/yourDB', आपको उपयोगकर्ता नाम और पासवर्ड प्रदान करने की आवश्यकता नहीं है।

आशा है कि मदद करता है।

+2

वे कैसे एमएस ड्राइवर का उपयोग करने के लिए पूछ रहे हैं , जेटीडीएस चालक नहीं। क्षमा करें (-1) – javamonkey79

+0

प्रश्न स्पष्ट नहीं है कि उसे एमएस ड्राइवर का उपयोग करना है। शायद पूछने वाले को जेटीडीएस नहीं पता था। आम तौर पर जेटीडीएस बेहतर काम करने के लिए जाना जाता है, इसलिए शायद प्रत्यक्ष समाधान नहीं, बल्कि एक अच्छा विकल्प है। – Adrian

+0

7 साल के पुराने उत्तर को कम करने के लिए धन्यवाद। आप लोग चैंपियन हैं। – raupach

3

यदि आपका databaseName मूल्य सही है, तो इसका उपयोग करें: DriverManger.getconnection("jdbc:sqlserver://ServerIp:1433;user=myuser;password=mypassword;databaseName=databaseName;")

+1

यह 'माइक्रोसॉफ्ट:' जोड़ना मुझे देता है : 'java.sql.SQLException: jdbc के लिए कोई उपयुक्त ड्राइवर नहीं मिला: माइक्रोसॉफ्ट: sqlserver: // ... ' – Baumann

+0

@ बाउमन इंगित करने के लिए धन्यवाद। जवाब अपडेट करेंगे – Mritunjay

0

नवीनतम JDBC MSSQL कनेक्टिविटी ड्राइवर JDBC 4.0

पर पाया जा सकता वर्ग फ़ाइल classpath में होना चाहिए। >

राइट क्लिक करें परियोजना का नाम - -> गुण -> जावा बिल्ड पथ -> पुस्तकालय -> जोड़ें बाहरी जार

आप ग्रहण का उपयोग कर रहे हैं, तो आप आसानी से निम्न करके भी ऐसा ही कर सकते हैं

के रूप में भी पहले से ही @Cheeso द्वारा बताया गया उपयोग करने के लिए सही तरीका है JDBC: sqlserver: // सर्वर: पोर्ट; DatabaseName = dbname

इस बीच MSSQL DB पहुँचने के लिए एक नमूना वर्ग (2008 में मिल कृपया मेरा मामला)।

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 

public class ConnectMSSQLServer 
{ 
    public void dbConnect(String db_connect_string, 
      String db_userid, 
      String db_password) 
    { 
     try { 
     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
     Connection conn = DriverManager.getConnection(db_connect_string, 
        db_userid, db_password); 
     System.out.println("connected"); 
     Statement statement = conn.createStatement(); 
     String queryString = "select * from SampleTable"; 
     ResultSet rs = statement.executeQuery(queryString); 
     while (rs.next()) { 
      System.out.println(rs.getString(1)); 
     } 
     conn.close(); 
     } catch (Exception e) { 
     e.printStackTrace(); 
     } 
    } 

    public static void main(String[] args) 
    { 
     ConnectMSSQLServer connServer = new ConnectMSSQLServer(); 
     connServer.dbConnect("jdbc:sqlserver://xx.xx.xx.xxxx:1433;databaseName=MyDBName", "DB_USER","DB_PASSWORD"); 
    } 
} 

उम्मीद है कि इससे मदद मिलती है।

3
  1. माइक्रोसॉफ्ट के वेब साइट
  2. से नवीनतम JDBC ड्राइवर (यानी sqljdbc4.0) डाउनलोड कार्यक्रम लिखें इस प्रकार है:

    import java.sql.*; 
    class testmssql 
    { 
        public static void main(String args[]) throws Exception 
        { 
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
         Connection  con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; 
           databaseName=chapter16","sa","123");//repalce your databse name and user name 
          Statement st=con.createStatement(); 
         ResultSet rs=st.executeQuery("Select * from login");//replace your table name 
         while(rs.next()) 
         { 
          String s1=rs.getString(1); 
          String s2=rs.getString(2); 
          System.out.println("UserID:"+s1+"Password:"+s2); 
         } 
         con.close(); 
        } 
    } 
    
  3. कार्यक्रम संकलित करें और सेट जार classpath अर्थात: set classpath=C:\jdbc\sqljdbc4.jar;.; आप तो डाउनलोड करने और निकालने के बाद C:\jdbc में अपनी jar फ़ाइल सहेजी है।

  4. प्रोग्राम चलाएं और सुनिश्चित करें कि आपकी टीसीपी/आईपी सेवा सक्षम है। यदि सक्षम नहीं है, तो निम्न चरणों का पालन: -> सभी कार्यक्रम - शुरू करने के लिए
    1. जाएं> माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 -> विन्यास उपकरण -> एसक्यूएल सर्वर कॉन्फ़िगरेशन मैनेजर
    2. विस्तृत Sql सर्वर नेटवर्क कॉन्फ़िगरेशन: अपने एमएस एसक्यूएल सर्वर उदाहरण जैसे। MSQSLSERVER और टीसीपी/आईपी सक्षम करें।
    3. अपने एमएस एसक्यूएल सर्वर इंस्टेंस को पुनरारंभ करें। यह आपके एमएस एसक्यूएल सर्वर उदाहरण
0

नाम उदाहरणों में से रूट स्तर पर Microsoft SQL सर्वर प्रबंधन स्टूडियो का सही क्लिक मेनू से भी किया जा सकता है?

यूआरएल: JDBC: sqlserver: // [Servername] [\ InstanceName] [: portnumber] [; संपत्ति = मूल्य]

नोट: पिछड़े स्लेश

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