首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有为jdbc找到合适的驱动程序:microsoft:没有Class.forname()的sqlserver异常

问没有为jdbc找到合适的驱动程序:microsoft:没有Class.forname()的sqlserver异常
EN

Stack Overflow用户
提问于 2017-02-10 13:21:35
回答 1查看 583关注 0票数 0

当我注释掉第一行时,找不到jdbc:microsoft:sqlserver异常的合适驱动程序。

我正在使用JDBC4.1,正如https://stackoverflow.com/a/8053125/1379734解释的那样,没有必要使用Class.forName()方法。我的密码怎么了?

代码语言:javascript
复制
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = java.sql.DriverManager.getConnection(getConnectionUrl(), userName, password);
EN

回答 1

Stack Overflow用户

发布于 2017-02-10 13:38:20

当您使用Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");时,它可以工作,以jdbc:microsoft:sqlserver开头的JDBC表明您使用的是使用+/- 17年的MicrosoftSQLServer2000JDBC驱动程序。该驱动程序早于JDBC 4,因此它不支持通过/META-INF/services/java.sql.Driver自动加载驱动程序。

由于SQLServer2005JDBC驱动程序,正确的类名是com.microsoft.jdbc.sqlserver.SQLServerDriver (注意,jdbc和sqlserver交换了位置)和URL前缀更改为jdbc:sqlserver: (也请参阅这个博客)。我相信JDBC 4自动加载是在SQLServer2008JDBC驱动程序中添加的。有关详细信息,请参阅用于Server的Microsoft驱动程序。

如果您想要利用驱动程序自动加载,您将需要升级您的驱动程序到一个较新的版本(最好是最新的),并更改您的配置。

见:https://github.com/Microsoft/mssql-jdbc和微软下载中心

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42160432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档