【问题标题】:JDBC driver installed but exception已安装 JDBC 驱动程序但异常
【发布时间】:2014-04-29 11:32:28
【问题描述】:

我正在使用需要 jbdc 驱动程序的软件(用于 sql server 2005), 我的 java 版本是 1.5.0_16。

当我想启动应用程序时,它会抛出这个异常:

java.sql.SQLException: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

【问题讨论】:

  • 你在classpath添加jdbc驱动了吗?
  • jdbc的jar文件你导入了吗?
  • 是的,我添加了 jar 文件
  • 我想我在 sql-server-2000 上遇到了类似的问题,我用旧的 jdbc jar 解决了它。我用的是sqljdbc_3.0。
  • 新的异常是 java.sql.SQLException: No suitable driver at java.sql.DriverManager.getConnection

标签: java sql sql-server-2005 jdbc jdbc-odbc


【解决方案1】:

CLASSPATH 变量是 Java 虚拟机 (JVM) 用于在您的计算机上查找 JDBC 驱动程序的搜索字符串。如果驱动程序未列在您的 CLASSPATH 变量中,当您尝试加载驱动程序时会收到以下错误消息:

java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver 

JDBC 驱动程序不是 Java SDK 的一部分。如果要使用它,必须将类路径设置为包含 sqljdbc.jar 文件或 sqljdbc4.jar 文件。如果类路径缺少 sqljdbc.jar 或 sqljdbc4.jar 的条目,您的应用程序将抛出常见的“找不到类”异常。

sqljdbc.jar文件和sqljdbc4.jar文件安装在以下位置:

<installation directory>\sqljdbc_<version>\<language>\sqljdbc.jar
<installation directory>\sqljdbc_<version>\<language>\sqljdbc4.jar

以下是用于 Windows 应用程序的 CLASSPATH 语句示例:

CLASSPATH =.;C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\sqljdbc.jar 

以下是用于 Unix/Linux 应用程序的 CLASSPATH 语句示例:

CLASSPATH =.:/home/usr1/mssqlserverjdbc/Driver/sqljdbc_4.0/enu/sqljdbc.jar 

您必须确保 CLASSPATH 语句仅包含一个 Microsoft JDBC Driver for SQL Server,例如 sqljdbc.jar 或 sqljdbc4.jar。

更多信息,请参见:

support ms

msdn ms

【讨论】:

  • 请注意,大多数执行 Java 应用程序的方法都不使用CLASSPATH
【解决方案2】:

驱动类名是否正确?

不应该吗

"com.microsoft.sqlserver.jdbc.SQLServerDriver"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-03
    • 2012-12-01
    • 2019-06-27
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    • 2016-11-19
    相关资源
    最近更新 更多