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

由于这个问题折腾了以上午,终于解决了,作下记录:java

错误提示为:java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriversql

在出这个问题前,首先确保链接的代码不存在语法上的错误,数据库的登陆名以及密码都正确,好了,下面开始:数据库

出了两个问题:sqlserver

一、我原来的链接语句为网站

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn=DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;databasename=XX","sa","123");spa


改为一下便可
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn=DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;databasename=XX","sa","123");server

缘由是上面sqlserver2000的链接方式,而下面是sqlserver05或者08的链接方式,这个地方要注意!ci


2,改完后,我发现仍是有问题,百思不得其解,忽然发现我下载的链接驱动包里面有两个jar文件,而我使用的是sqljdbc.jar,想一想,换一个会不会好,后来换成了另外一个sqljdbc4.jar,完美解决,缘由以下:文档


如下是msdn中 JDBC Driver的系统要求中的解释:咱们清楚的看到 sqljdbc.jar 类库要求使用 5.0 版的 Java 运行时环境 (JRE)。链接到数据库时,在 JRE 6.0 上使用 sqljdbc.jar 会引起异常。而个人jre为6.0的,天然报异常get


JAR

说明

sqljdbc.jar

sqljdbc.jar 类库提供对 JDBC 3.0 的支持。

sqljdbc.jar 类库要求使用 5.0 版的 Java 运行时环境 (JRE)。链接到数据库时,在 JRE 6.0 上使用

 sqljdbc.jar引起异常。

 注意:
JDBC 驱动程序不支持 JRE 1.4。使用 JDBC Driver 时必须将 JRE 1.4 升级至 JRE 5.0 或 JRE 6.0。
在某些状况下,您可能须要从新编译应用程序,由于它可能与 JDK 5.0 或更高版本不兼容。
有关详细信息,请参阅 Sun Microsystems 网站上的文档。

sqljdbc4.jar

sqljdbc4.jar 类库提供对 JDBC 4.0 的支持。它不只包括 sqljdbc.jar 的全部功能,

还包括新增的 JDBC 4.0 方法。

sqljdbc4.jar 类库要求使用 6.0 版的 Java 运行时环境 (JRE)。在 JRE 1.4 或 5.0 上

使用 sqljdbc4.jar 会引起异常。

注意:
若是应用程序必须在 JRE 6.0 上运行,即便该应用程序不使用 JDBC 4.0 功能
,也应使用 sqljdbc4.jar
相关文章
相关标签/搜索