直接使用下面的驱动即可解决该问题(2021-04-14)
<dependency>
<groupId>com.microsoft</groupId>
<artifactId>sqljdbc4</artifactId>
<version>3.0</version>
</dependency>
项目背景:SpringBoot 多数据源
错误提示:
java.lang.AbstractMethodError: com.microsoft.jdbc.sqlserver.SQLServerConnection.isValid(I)Z
com.microsoft.jdbc.base.BaseSQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]�û� 'sa' ��¼ʧ�ܡ�
上面的错误问题都是说SQL server的驱动不匹配,后来去搜索了下,说
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
该版本可支持SQL server2008、2012,(2005未测试)但是不支持SQL serve2000,找到了支持2000的驱动:
<dependency>
<groupId>com.microsoft.jdbc.sqlserver</groupId>
<artifactId>msutil</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.jdbc.sqlserver</groupId>
<artifactId>msbase</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.jdbc.sqlserver</groupId>
<artifactId>mssqlserver</artifactId>
<version>1.0</version>
</dependency>
无奈,又去http://mvnrepository.com/下载了这三个jar,导入到本地maven仓库(详见我的另外一篇:使用Maven加载oracle驱动),拿去不谢
测试代码如下:
public static void main(String[] args) {
Connection dbConn;
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:sqlserver://192.168.6.55;databaseName=bob";
String username = "sa";
String password = "voicecyber";
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(url,username,password);
System.out.println("success");
}catch (Exception e){
e.printStackTrace();
}
}
执行成功!,
运行项目,发现依旧报如下错误:
java.lang.AbstractMethodError: com.microsoft.jdbc.sqlserver.SQLServerConnection.isValid(I)Z
,
没办法,又去搜索,找到了解决方案:
https://mvnrepository.com/artifact/com.microsoft/sqljdbc4/3.0
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>3.0</version>
</dependency>
默认从pom.xml无法引用下载sqlserver-3.0,可自行导入本地maven仓库
OK,至此结束
mvn install:install-file -Dfile=c:/sqljdbc4-3.0.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=3.0 -Dpackaging=jar -DgeneratePom=true
再去C:\Users\Yafen\.m2\repository\com\microsoft\sqlserver\sqljdbc4\3.0,从com文件夹开始复制到你的maven仓库即可