2014-10-07 125 views
2

我對Java開發很新,我開始學習如何連接到SQL Server。我讀過大量的教程,我目前遇到了一個與我的應用程序有關的問題,目前我面臨的錯誤是:JDBC,連接到SQL服務器

沒有找到適用於jdbc的驅動程序:sqlserver://192.168.*.***: 1433;數據庫= STC

我想知道的是我到底需要對服務器做些什麼才能完成連接?請注意,數據庫和服務器不在我的桌面上,但位於不同的位置。所有的幫助表示讚賞。

這是我的代碼。

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 


public class SecondTest 
{ 

    public static void main(String[] argv) 
    { 

     System.out.println("-------- MySQL JDBC Connection Testing ------------"); 

     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
     } catch (ClassNotFoundException e) { 

      System.out.println("Where is your MySQL JDBC Driver?"); 
      e.printStackTrace(); 
      return; 
     } 

     System.out.println("MySQL JDBC Driver Registered!"); 
     Connection connection = null; 

     try 
     { 

      String url = "jdbc:sqlserver://192.168.***.***:1433;Database=STC"; 

      String username = "*****"; 
      String password = "******"; 
      connection = DriverManager.getConnection(url, username, password); 

     } 

     catch (SQLException e) 
     { 
      System.out.println("Connection Failed!"); 
      e.printStackTrace(); 
      return; 
     } 

     if (connection != null) 
     { 
      System.out.println("Fully connected."); 
     } 

     else 
     { 
      System.out.println("Failed to make connection!"); 
     } 
    } 
} 
+0

我認爲你是對裝載SQLServer的一個錯誤的驅動程序。嘗試使用'Class.forName(「com.microsoft.sqlserver.jdbc.SQLServerDriver」);' – 2014-10-07 12:36:23

回答

2
  1. 它看起來像你試圖使用MySQL驅動程序連接到Microsoft SQLServer。您應該確保使用正確的驅動程序(http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx)。該班級是com.microsoft.sqlserver.jdbc.SQLServerDriver。確保驅動程序位於類路徑中。

  2. 要啓用到數據庫的遠程連接,必須在SQLServer上啓用TCP連接(通常在端口1433上)。看看這個:http://www.scrumdesk.com/Articles/HowToEnableSQLServerRemoteConnections.html

+0

嗨,感謝您的回覆!這解決了我遇到的問題:)非常感謝! – user2946061 2014-10-07 13:58:51

+0

不客氣。 – 2014-10-07 15:01:43

0

您正在使用MySQL驅動程序:

Class.forName("com.mysql.jdbc.Driver"); 

這JDBC URL嘗試連接到被指向到Microsoft SQL Server數據庫:

String url = "jdbc:sqlserver://192.168.3.223:1433;Database=STC"; 

下載合適的驅動程序要連接到的SQL服務器數據庫的版本並加載該數據庫而不是MySQL驅動程序:

http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx

加載該驅動程序而不是com.mysql.jdbc.Driver

+0

嗨,謝謝你的迴應。你的解決方案和西蒙一樣。感謝您的回答,我真的很感激它:) – user2946061 2014-10-07 14:00:07

0

似乎你正在爲SQLServer加載一個錯誤的驅動程序。與Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

嘗試在你需要MySQL的情況下,連接的URL看起來像jdbc:mysql://..