2013-10-02 97 views
0

任何人都可以解釋我如何連接Java與MySQL?使用Windows身份驗證將Java與MySQL連接起來?

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
Connection conn = null; 
... 
try { 
    conn = 
     DriverManager.getConnection("jdbc:mysql://localhost/test?" + 
            "user=monty&password=greatsqldb"); 

    } 
catch (SQLException ex) 
    { 

     System.out.println("SQLException: " + ex.getMessage()); 
     System.out.println("SQLState: " + ex.getSQLState()); 
     System.out.println("VendorError: " + ex.getErrorCode()); 
    } 

這是我如何做到的,但我的是Windows身份驗證,而不是密碼身份驗證。 那麼如何完成與Windows身份驗證的連接?

+4

mysql或sqlserver?在標題是它的MySQL標記它的sqlServer –

+0

看看這個問題http://stackoverflow.com/q/167464/1741542 –

+0

可能重複的[與MySQL的Java連接](http://stackoverflow.com/questions/2839321/java-connectivity-with-mysql) –

回答

1

您未加載驅動程序類。

試試這個 -

Class.forName("com.mysql.jdbc.Driver"); 
conn = DriverManager.getConnection("jdbc:mysql://localhost/test?" + "user=monty&password=greatsqldb"); 

附:我假定你正在使用MySQL

0

試試這個:

Class.forName("com.mysql.jdbc.Driver"); 
conn = DriverManager.getConnection("jdbc:mysql://localhost/test","monty","greatsqldb"); 

您可以指定usernamepassword seperately。

僅供參考:無需使用Class.forName()方法加載驅動程序,但爲了安全起見,編碼器使用此方法加載驅動程序。

Read這個。這是寫的是Applications no longer need to explictly load JDBC drivers using Class.forName().

1

首先加載驅動程序類

Class.forName("com.mysql.jdbc.Driver"); 
con=DriverManager.getConnection("jdbc:mysql://localhost/test","monty","greatsqldb"); 

然後創建連接。

+0

完成了。但是這是用於sqlserver身份驗證。我的是Windows認證。如何連接? – user2718433

相關問題