java连SQLServer失败 java.lang.ClassNotFoundException:以及 javax.xml.bind.JAXBException

2023-02-12,,,,

总结:jdk1.8及以下连sqlserver只需驱动,1.8以上除了驱动还需JAXB API。

1       java连SQLServer必须要先下驱动。否则出现:

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

下载Microsoft JDBC Driver for SQL Server 
官方下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774

Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\auth\x64\sqljdbc_auth.dll文件 复制到C:\Windows\SysWOW64目录下。(64bit系统)

Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\auth\x86\sqljdbc_auth.dll 文件 复制到 C:\Windows\System32 (32位系统)

添加sqljdbc4.jar包,配置路径。就可以了。

 2 出现javax.xml.bind.JAXBException

JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。 
java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包 
而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的

解决方案一:

降低JDK  版本到 JDK 6/7/8,并要有相对应得版本驱动。jdk6驱动已不支持。

解决方案二:(亲测可行)任意版本驱动都可

手动加入以下依赖Jar包

要解决这个问题,我导入了下面这四个Jar包修复成功。

javax.activation-1.2.0.jar 
http://search.maven.org/remotecontent?filepath=com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar

jaxb-api-2.3.0.jar 
http://search.maven.org/remotecontent?filepath=javax/xml/bind/jaxb-api/2.3.0/jaxb-api-2.3.0.jar

jaxb-core-2.3.0.jar 
http://search.maven.org/remotecontent?filepath=com/sun/xml/bind/jaxb-core/2.3.0/jaxb-core-2.3.0.jar

jaxb-impl-2.3.0.jar 
http://search.maven.org/remotecontent?filepath=com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-impl-2.3.0.jar

下载上面这些文件和复制他们到任意文件夹并build path( libs文件夹更好,不用改动位置)
添加他们导入到Build Path中 
重新运行即可

java连SQLServer失败 java.lang.ClassNotFoundException:以及 javax.xml.bind.JAXBException的相关教程结束。

《java连SQLServer失败 java.lang.ClassNotFoundException:以及 javax.xml.bind.JAXBException.doc》

下载本文的Word格式文档,以方便收藏与打印。