一:找不到数据库驱动
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
解决办法:从Microsoft官网下载驱动文件,引用自博客eclipse连接sql server
下载地址http://www.microsoft.com/zh-CN/download/details.aspx?id=11774,
进入后直接下载tar.gz的驱动并解压,然后在eclipse的prject界面右键,选择buildpath->configuing build path->libraries->add external jars ->选择刚才的解压文件夹下的chs/jre8下的jar包导入。
二:sql server 连接失败
问题原因,数据库没有在1433口监听等原因,引用自博客:
https://www.cnblogs.com/newen/p/4428541.html
https://blog.csdn.net/anialy/article/details/8575428
解决办法:
(1)打开sql server 配置管理器,点击TCP/IP右键,选择启用。将禁用的TCP/IP协议打开。
(2)点击该TCP/IP , 修改数据库监听端口
注意上面打开会有很多个ip,选择IPALL下载tcp端口更改,否则可能无效
(3)java开发需要打开sql server browser才能连接数据库
(4)然后重启sql server(mssqlserver)服务,使得tcp/ip协议生效。
三:找不到datatypeconverter类
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
原因:
JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。
java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包
而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的
引用自博客https://blog.csdn.net/hadues/article/details/79188793
解决办法:
一:降低java版本到7,8
二:引用外来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
导入后即可正常执行