0

我是 JDBC 应用程序开发的新手。我正在使用 Visual Studio 2005 编写一个 JDBC 应用程序。我需要将我的应用程序连接到 MS SQL Server 2005。我已经安装了 JDBC 驱动程序 3.0。我的机器上还安装了 Java 运行时版本 1.6。

我正在编写一个简单的代码来连接到 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());
        }   
   }
}

当我每次遇到 Class not found 异常都尝试调试此应用程序时。谁能帮我解决这个问题。

提前致谢。问候祖拜尔

4

1 回答 1

0

您通常不应该使用CLASSPATH环境变量。它主要是 Java 早期的产物。通常程序有自己的私有类路径。

在 IDE 内部,类路径是项目类路径(也称为构建路径),在 IDE 外部,它通常Class-Path:是 jar 清单中的条目。

只有在没有其他方法设置类路径的情况下运行命令行(使用orCLASSPATH时完成),才会使用环境变量。java -jarjava -cp

因此,您需要将 JDBC 驱动程序添加到项目类路径中。此外,如果您使用 sqljdbc4.jar(这是 MS SQL Server JDBC 3.0 中的 JDBC 4 驱动程序),那么您甚至不需要这样做Class.forName(...),因为 JDBC 4 引入了自动驱动程序注册。

于 2012-06-29T06:21:32.433 回答