2011-06-16 66 views
0

我需要連接到使用Java的Microsoft SQL Server在SQL Server。連接到使用Java

我下載了驅動器,無論我做什麼elipse和NetBeans找不到驅動程序。

當我很沮喪我也下載MySQL驅動程序,我又得到了同樣的異常。

我在環境變量中添加了驅動程序路徑,並將jar文件包含在我的項目庫中。

這裏是我的項目的圖片:

pic http://i56.tinypic.com/1ekple.jpg

什麼是我做錯了什麼?

非常感謝你, 伊詹。

+0

「當我感到沮喪時,我也下載了MySql驅動程序」你在想什麼? MS SQL!= MySQL。 – 2011-06-16 16:46:51

+0

嘗試將'com.mysql.jdbc.Driver'用於'msql:'連接絕對不行。 MS SQL JDBC驅動程序的錯誤消息是什麼? – Bruno 2011-06-16 16:46:57

+0

我安裝了一個mysql服務器來嘗試,我沒有嘗試使用MS驅動程序連接到MySQL服務器。這是當我使用MS驅動程序時會發生什麼:http://i54.tinypic.com/2prcx7k.jpg – Idan 2011-06-16 16:55:53

回答

0

有URL中的錯字,以連接到MySQL。

應該爲jdbc:mysql的://127.0.0.1:8888

而且我會仔細檢查,如果你的MySQL服務器實際上是在端口8888上3306

還運行因爲通常一個MySQL的答案微軟的SQL服務器有多個JDBC驅動程序,它們具有不同的URL。對於microsoft驅動程序,該url看起來像jdbc:microsoft:sqlserver:// localhost:1433

請查看驅動程序的文檔以獲取示例url。

+0

mySql服務器是easyphp服務器,它是8888端口,我可以通過cmd連接到它 – Idan 2011-06-16 17:01:17

+0

使用easyphp,web服務器在端口8888上偵聽。默認情況下,Mysql在偵聽端口3306時也偵聽安裝easyphp。 – 2011-06-16 17:09:17

+0

謝謝你好多! – Idan 2011-06-16 17:28:31

1

的幾個問題:

  1. 你的JDBC URL應爲jdbc:不是JDBC MSSQL :mSQL的
  2. 爲 SQL服務器的端口通常是1433,不是8888 但可以配置。
  3. 驅動程序 指定的是針對MySQL並且不會 的工作。

開始糾正通過下載的MS SQL JDBC驅動程序,有2對流行的一些變體:

開源:http://jtds.sourceforge.net/

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

我用兩個和避風港」這兩種情況都有很多問題。

編輯

我目前正在使用微軟的驅動程序唯一的例子,那就是:

DRIVER: com.microsoft.sqlserver.jdbc.SQLServerDriver 

URL: jdbc:sqlserver://localhost:1433;database=<MyDB> 
+0

+1打我這個。 – Ash 2011-06-16 16:59:43

+0

我有兩個司機,非工作。 http://tinypic.com/r/2prcx7k/7 – Idan 2011-06-16 17:00:04

+0

檢查您使用的驅動程序是否在您的類路徑中,並且您的sql服務器正在端口8888上運行,如前所述,這不是正常的端口。 – 2011-06-16 17:16:27

0

嘗試用JTDS。它是一個開源的JDBC 3.0驅動程序的Microsoft SQL Server(6.5,7,2000年和2005年)。將jar文件放入您的應用程序類路徑中。 java的。sql包和上面的驅動程序有助於連接到數據庫。

import java.sql.*; 

public class testConnection 
{ 
    public static void main(String[] args) 
    { 
     DB db = new DB(); 
     db.dbConnect(
    "jdbc:jtds:sqlserver://localhost:1433/tempdb","sa",""); 
    } 
} 

class DB 
{ 
    public DB() {} 

    public voidn dbConnect(String db_connect_string, 
    String db_userid, String db_password) 
    { 
     try 
     { 
      Class.forName("net.sourceforge.jtds.jdbc.Driver"); 
      Connection conn = DriverManager.getConnection(
    db_connect_string, db_userid, db_password); 
      System.out.println("connected"); 

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

這非常有用! – Idan 2011-06-16 17:28:41