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

因为这个问题折腾了以上午,终于解决了,做下记录:

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

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

出了两个问题:

1、我原来的连接语句为

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

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

原因是上面sqlserver2000的连接方式,而下面是sqlserver05或者08的连接方式,这个地方要注意!

2,改完后,我发现还是有问题,百思不得其解,突然发现我下载的连接驱动包里面有两个jar文件,而我使用的是sqljdbc.jar,想想,换一个会不会好,后来换成了另一个sqljdbc4.jar,完美解决,原因如下:

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


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。

原文地址:https://www.cnblogs.com/borter/p/9459197.html

时间: 2024-10-02 23:38:41

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver的相关文章

解决java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver问题

参考:https://blog.csdn.net/zhengjia0826/article/details/50377802/ 今天在做项目的时候突然遇到解决java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver问题,知道是jdbc驱动加载不成功,可是项目原来是正常运行的啊,只不过是我新换了一个开放环境(笔记本的系统重装了)而已,驱动.代码啥的都没有问题,经过反复查证找到的解决方法: 将sqlj

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

使用jsp连接数据库真的不那么容易,之前使用纯java连接sql Server 2008,都是很正常的,但是在使用jsp调用的时候,总是报错ClassNotFoundException.很郁闷 jar驱动包明明就是那样. (x)csdn博客有位网友说将驱动和url修改为4.0的jar驱动,还是不行,我甚至修改为4.1的jar驱动.也总是报错. (x)网上有网友说将 sqljdbc_auth.dll 拷贝至C:\Windows\System32中,还是不行. (x)然后我以为是jdk版本差异会影响

org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver '

问题摘要: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver ' 原因:配置文件drive

jdbc连接sqlserver报错java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

使用2008的数据库, 我已经引入的sqljdbc4的包,单还是报这个错,很奇怪突然想到在配置hibernate的时候,是拷贝下来的代码 然后到网上查了下, 因为是2008的版本驱动和2000的有点不同, 之前的都是可能是2000或者2005的class是com.microsoft.jdbc.sqlserver.SQLServerDriver 可是2008  去是com.microsoft.sqlserver.jdbc.SQLServerDriver 就这么改过来就可以了 jdbc连接sqlse

关于java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver的处理办法

用记事本写了一支java程序,连接SQL Server 2008,从网上下载了微软的jdbc(地址:http://msdn.microsoft.com/zh-cn/data/aa937724.aspx),编译没问题,执行的时候会报错误:java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver:百思不得其解,jdbc包已经放到了source目录了呀?!后来把jdbc包放到JRE相关目录 jre\li

Sqoop:Could not load db driver class: com.microsoft.sqlserver.jdbc.SQLServerDriver

Sqoop version:1.4.6-cdh Hadoop version:2.6.0-cdh5.8.2 场景:使用Sqoop从MSSqlserver导数据 虽然1.4.6的官网说 Even if Sqoop supports a database internally, you may still need to install the database vendor’s JDBC driver in your $SQOOP_HOME/lib path on your client. Sqo

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) at java

The web application [/zzti] registered the JDBC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver

先说下题目:因为是在我进行处理项目升级时同时遇到了上面的问题,一般都会遇到,所以就一并说了 不罗嗦了,正题: 在本地服务器中提供tomcat6,然后在myeclipse中配置severs tomcat,将本地tomcat6添加 如果你的web页面里面的EL表达式使用了#{}表达式,或者配置了severlet依赖的jstl版本,升级会遇到问题的原因为:tomcat5和tomcat6使用的jsp/severlet规范不同 Tomcat6   JSP2.1 / Servlet2.5 / JSTL2.0

Tomcat - java.lang.UnsupportedClassVersionError:Unsupported major.minor version 51.0 (unable to load class com.microsoft.sqlserver.jdbc.SQLS

今天使用Tomcat连接sql Server 2008 enterprise的时候,报错: HTTP Status 500 - Servlet execution threw an exception type Exception report message Servlet execution threw an exception description The server encountered an internal error that prevented it from fulfil