2012-06-29 76 views
0

我是JDBC應用程序開發新手。我正在使用Visual Studio 2005編寫一個JDBC應用程序。我需要將我的應用程序連接到MS SQL Server 2005.我已經安裝了JDBC驅動程序3.0。 Java運行時版本1.6也安裝在我的機器上。JDBC API forName異常(ClassNotFoundException)

我正在寫一個簡單的代碼來連接到SQL服務器。我已經在inviromnet變量列表中設置了CLASSPATH。這裏是代碼

package MyJDBCApp; 

import java.sql.*; 
import java.util.*; 

public class Connect 
{ 
    public static void main(String[] args) 
    { 
     String url = "jdbc:sqlserver://NOI1-501791:1433;databaseName=test;user=sa; password=asdf1234;"; 
     Connection con; 
     Statement stmt; 
     try 
     { 
      Class.forName("com.sqlserver.jdbc.SQLServerDriver"); 
     } 
     catch (java.lang.ClassNotFoundException e) 
     { 
      System.err.print("ClassNotFoundException: "); 
      System.err.println(e.getMessage()); 
     } 
     try 
     { 
      con = DriverManager.getConnection(url); 
      if (con != null) 
       con.close(); 
     } 
     catch (SQLException ex) 
     { 
      System.err.println("SQLException: " + ex.getMessage()); 
     } 
    } 
} 

當我嘗試調試此應用程序每次我得到類未找到異常。 任何人都可以幫助我解決這個問題。

在此先感謝。 Registers Zubair

+0

您如何嘗試調試applicaiton? IDE或命令提示符? – Unknown

+0

我正在使用IDE進行調試.. –

+0

一旦檢查lib是否存在,並且您已包含在項目classpath中或沒有。 – Unknown

回答

0

您通常不應該使用CLASSPATH環境變量。它幾乎是Java早年的一種人造物。通常程序都有自己的私有類路徑。

在IDE中,類路徑是項目類路徑(也稱爲構建路徑),在IDE之外它通常是jar清單中的Class-Path:條目。

只有在運行命令行而無需其他方式設置類路徑(使用java -jarjava -cp時完成)時,纔會使用CLASSPATH環境變量。

因此,您需要將JDBC驅動程序添加到項目類路徑中。另外,如果您使用sqljdbc4.jar(這是MS SQL Server JDBC 3.0中的JDBC 4驅動程序),那麼您甚至不需要執行Class.forName(...),因爲JDBC 4引入了自動驅動程序註冊。

+0

任何人都可以告訴我如何在我的項目中添加對sqljdbc.jar的引用。我設置了JDBC驅動程序的「引用路徑」。我正在構建Visual j#Console應用程序。要在我的項目中添加sqljdbc的引用,請右鍵單擊我的項目中的「引用」標籤,然後按「添加引用」。但任何人都可以告訴我如何在我的應用程序中添加我的sqljdbc.jar的引用,因爲我無法找到任何方法將其添加到我的項目中。 –

+0

J#不完全是Java,所以我無法幫到你。 –