sql server连接eclipse web程序时,驱动加载成功,但是连接不上数据库,怎么回事?

qq_41862855 2018-10-20 11:36:28
我用的jar包是sqljdbc41.jar包
错误代码如下:
加载驱动成功!
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2758)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2244)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:43)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2230)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1717)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1328)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:993)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:829)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at test.main(test.java:24)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 13 more




程序代码如下:
import java.sql.*;

public class test{
public static void main(String[] args) {
PreparedStatement ps = null;
Connection ct = null;
ResultSet rs = null;

String url = "jdbc:sqlserver://localhost:1433;databaseName=Museum";
String user="sa"; //超级管理员
String password="123456"; //密码

try {
//1.加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("加载驱动成功!");
}catch(Exception e) {
e.printStackTrace();
System.out.println("加载驱动失败!");
}
try {
//2.连接
ct=DriverManager.getConnection( url,user,password);
System.out.println("连接数据库成功!");
}catch(Exception e) {
e.printStackTrace();
System.out.println("连接数据库失败!");
}

/* 尝试添加数据到数据库中 */
try {
//在连接对象的基础上创建会话对象
Statement stmt = ct.createStatement();
//写插入数据的SQL语句
String sql = "insert into t_user values('2','King','123')";
//执行插入数据的SQL语句,返回受影响的行数
int rs1 = stmt.executeUpdate(sql);
//关闭会话对象
stmt.close();
//关闭连接对象
ct.close();
/*
* 如果受影响的行数大于零,则插入数据成功,
* 返回ture;否则插入数据失败,返回false
*/
if(rs1>0) {
System.out.println("插入成功");
}
else {
System.out.println("插入失败");
}
}catch(SQLException ex) {
ex.printStackTrace();
System.out.println("失败");
}
}
}
...全文
638 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
咸哼酒家 2018-10-22
  • 打赏
  • 举报
回复
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
这是包应用出问题呀;
------看了下网上的描述
原因:JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。
java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包
解决:用java8版本

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧