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

在代码中手动连接SQL Server数据库的时候报错【java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver】。

知道大致原因是因为缺少了驱动包,然后因为是在Maven的环境中,通过Maven引入sqljdbc4的依赖之后好像不行,只能另外想办法。

另外的办法是将sqljdbc4.jar文件复制到项目里的WEB-INF下的lib目录下面,试了一下就可以正常连接上SQL Server数据库了。

然后另外还发现2008的版本驱动和2000的有点不同,之前的驱动类名都是【com.microsoft.jdbc.sqlserver.SQLServerDriver】,可是2008以上版本却是【com.microsoft.sqlserver.jdbc.SQLServerDriver】,注意到了吗,其中的【sqlserver】和【jdbc】包名互换了,然后url的前缀也从【jdbc:microsoft:sqlserver://】变成了【jdbc:sqlserver://】,微软真的是逻辑鬼才。

如果最终的应用是要放在Tomcat下或什么容器下跑,需要在代码中添加加载驱动包类的代码,否则也会报上面的错误。

try {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e1) {
    e1.printStackTrace();
}

另外sqljdbc4.jar需要jre6以上的运行环境。

 

"你以为我不知道,但是其实我已经知道了。"

转载于:https://www.cnblogs.com/yanggb/p/11605947.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值