2012-12-18 150 views
2

我試圖我JAVA代碼連接到SQL Server我有locally.This就是我想:JDBC連接與SQL Server

 public static void main(String[] args) throws ClassNotFoundException, SQLException, InvalidFormatException, IOException { 

     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
     con = DriverManager.getConnection("jdbc:sqlserver://localhost" + "databaseName=talisman" + "user=karim" + "password=123"); 

//rest of the code 
}} 

我得到這個異常:

Dec 18, 2012 11:29:40 AM com.microsoft.sqlserver.jdbc.SQLServerConnection <init> 
SEVERE: Java Runtime Environment (JRE) version 1.6 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0. 
Exception in thread "main" java.lang.UnsupportedOperationException: Java Runtime Environment (JRE) version 1.6 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0. 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.<init>(SQLServerConnection.java:304) 
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1011) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at cct.karim.karim.main(karim.java:62) 

和我很堅持... 我會感激你的幫助,但請具體說明在你的答案

更新:

我正在使用eclipse,並且我下載了jbdc4。你能告訴我如何將它包含在eclipse中嗎?

+2

此驅動程序不支持Java運行時環境(JRE)版本1.6。您的jdbc驅動程序版本是什麼? –

+1

錯誤信息非常清晰。您需要使用Java7或Java6的Microsoft驅動程序 –

+0

我正在使用jdbc4 – user1912404

回答

1

閱讀異常消息,您將看到您正在使用不支持Java 1.6的舊JDBC驅動程序。

您應該here

+0

檢查我的更新 – user1912404

1

你的運行環境使用JRE 1.6和您使用的是SQL罐子不與Java 6.Include sqljdbc4.jar而不是兼容獲取使用JDBC 4.0(sqljdbc4.jar)的新版本。

+0

檢查我的更新 – user1912404

2

嘗試使用jtds驅動程序,這是MS SQL的替代驅動程序。有關如何正確使用驅動程序的更多信息,請閱讀Getting started

+0

我下載了它,如何將它包含在eclipse中,它與jdbc4有什麼不同? – user1912404

+0

您可以在「Properties> Java Build Path> Libraries」下將該jar添加到您的項目中。 jtds驅動程序支持所有版本的MS SQL Server,因此您的問題應該消失。我們對這個驅動程序的問題少得多。 –

+0

以及我做到了這一點...同樣的問題... – user1912404

2

你可以嘗試Java代碼也下面提到的方式在本地連接到SQL Server ..

你需要有 的Microsoft SQL Server JDBC驅動程序 SQL JDBC身份驗證文件

身份驗證後,你以後下載認證文件將該文件複製到窗口的system32文件夾中。現在設置SQL Server JDBC驅動程序(jar文件)的類路徑。現在假設你有一個數據庫mssumit,用戶名和密碼是sumit。您還可以使用widows身份驗證連接到SQL Server,如果要使用Windows身份驗證進行連接,則可以使用以下代碼。

Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=mssumit;integratedSecurity=true"); 
Connection conn =DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=mssumit;user=sumit;password=sumit;"); 

有時您可能無法使用用戶名連接,請檢查您能夠使用SQL Server身份驗證連接的數據庫連接屬性。實例的SQL Server驅動程序類下面的代碼

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); 
Connection conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=mssumit;user=sumit;password=sumit;"); 

詳細解釋,程序及源代碼,你可以檢查此鏈接http://compilr.org/java/jdbc-connection-with-ms-sql-server-in-java/

0

希望這個線程會幫助你 - How do I connect to a SQL Server 2008 database using JDBC?

本質上,有幾種使用JDBC的方法 - 使用Windows身份驗證和SQL身份驗證。 SQL身份驗證可能是最簡單的。你可以做的是這樣的:

String userName = "username"; 
String password = "password"; 

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB"; 

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
Connection conn = DriverManager.getConnection(url, userName, password); 

將sqljdbc4.jar添加到構建路徑後。

對於Windows身份驗證,你可以這樣做:

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB;integratedSecurity=true"; 
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
Connection conn = DriverManager.getConnection(url); 

,然後添加到sqljdbc_auth.dll作爲VM參數中的路徑(仍需要在構建路徑sqljdbc4.jar)。

請看看here瞭解如何通過eclipse使用jTDS和JDBC連接到SQL Server的SQL Server,如果您需要更多詳細信息。希望能幫助到你!