2012-10-13 98 views
-1

我將我的java程序連接到mysql數據庫。但是我得到一個執行的異常塊而不是連接,即「連接失敗!!」。Java到數據庫連接:異常

import java.sql.*; 
    public class Mysqltest 
{ 
public static void main(String args[]) 
{ 
    String username ="root"; 
    String password ="bharath12"; 
    String url ="jdbc:mysql://localhost:3307/"; 
    String dbName = "sample"; 
    String driver= "com.mysql.jdbc.Driver"; 
    Connection con =null; 
    try 
    { 
     Class.forName(driver).newInstance(); 
     con=DriverManager.getConnection(url+dbName, username, password); 
     System.out.println("Connection successfully established."); 
     con.close(); 
     System.out.println("Connection terminated !"); 
    } 
    catch(Exception e) 
    { 
     System.out.println("Connection failed !!"); 
    } 
} 
    } 

上面的代碼中會出現什麼錯誤? 安裝時我特意改變MySQL的端口3307(因此,本地主機:3307)

+5

你應該在catch塊中使用'e.printStackTrace()',因爲這個方法背後有一個原因。它給你的確切位置你有什麼異常。 –

+0

更新堆棧跟蹤。 catch塊中的e.printStackTrace()。 –

+0

「異常」的可能原因可能是你的類路徑中沒有jar文件。從上面的代碼中可以看出這一點。 –

回答

1

你不應該有額外的空間只允許分離器是爲Windows CLASSPATH變量是; 所以你CLASSPATH變量應該像如下─

C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar;C:\Program Files\Java\jdk1.7.0_07\lib\mysql-connector-java-5.1.22-bin.jar; 

在你的課程路徑中有一個空格,在mysql jar之前。

展望未來最好是使用類路徑與-cp選項而非全球CLASSPATH因爲全局類路徑的優先級高於應用程序類路徑,如果有它在全局類路徑中提到的不同的JAR一樣CLASSE名它能產生問題。

您也可以開始使用像Eclipse這樣的編輯器,您只需在構建路徑中添加所需的jar文件即可。

+0

是的。這就是問題。謝謝。 –

+0

強烈建議不要使用全局'CLASSPATH'變量。您應該使用'java'命令的'-cp'開關證明classpath,或者在IDE中正確設置庫。 –