【问题标题】:JDBC API forName exception (ClassNotFoundException)JDBC API forName 异常 (ClassNotFoundException)
【发布时间】:2012-06-29 04:58:16
【问题描述】:

我是 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 异常时尝试调试此应用程序时。 谁能帮我解决这个问题。

提前致谢。 问候 祖拜尔

【问题讨论】:

  • 您是如何尝试调试应用程序的? IDE 还是命令提示符?
  • 检查一下 lib 是否存在以及是否包含在项目类路径中。
  • 你说的是哪个库?以及如何在项目类路径中设置?
  • 你可以从这个 url 下载库:msdn.microsoft.com/en-us/sqlserver/aa937724.aspx 并通过右键单击项目并将这个库添加到项目类路径并选择 java 构建路径并添加这个库并运行。

标签: sql-server-2005 jdbc


【解决方案1】:

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

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

CLASSPATH 环境变量仅在您运行命令行而没有其他设置类路径的方法时使用(使用java -jarjava -cp 时完成)。

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

【讨论】:

  • 谁能告诉我如何在我的项目中添加对 sqljdbc.jar 的引用。我设置了 JDBC 驱动程序的“参考路径”。我正在构建 Visual j# 控制台应用程序。要在我的项目中添加对 sqljdbc 的引用,我右键单击项目中的“引用”标签,然后按“添加引用”。但是谁能告诉我如何在我的应用程序中添加我的 sqljdbc.jar 的引用,因为我找不到任何方法将它添加到我的项目中。
  • J# 不完全是 Java,所以我帮不了你。
猜你喜欢
  • 2016-10-02
  • 2014-09-15
  • 1970-01-01
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
  • 2020-11-22
  • 1970-01-01
相关资源
最近更新 更多