java连接数据库失败

package sql;
import java.sql.*;
public class DBC {
    public static void main(String []args) {
        String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String dbURL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=SA0326";
        String userName="sa";            
        String userPwd="123456";
     try
   {
         Class.forName(driverName);   //加载sqlserver的驱动类
         System.out.println("加载SQLServer驱动类成功!");
    }catch(ClassNotFoundException a){
        System.out.println("加载SQLServer驱动失败!");
        a.printStackTrace();
}
     Connection dbcon=null;           //处理与特定数据库的连接
     try{
         dbcon=DriverManager.getConnection(dbURL,userName,userPwd);
         System.out.println("数据库连接成功!");
         dbcon.close();
    } catch(SQLException e){
        System.out.println("数据库连接失败!");
        e.printStackTrace();
    }
    }
}

然后提示

加载SQLServer驱动类成功!
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
    at sqljdbc42/com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4098)
    at sqljdbc42/com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3160)
    at sqljdbc42/com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:43)
    at sqljdbc42/com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3123)
    at sqljdbc42/com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505)
    at sqljdbc42/com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2445)
    at sqljdbc42/com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1981)
    at sqljdbc42/com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
    at sqljdbc42/com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
    at sqljdbc42/com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
    at sqljdbc42/com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at sql.DBC.main(DBC.java:19)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 14 more
 

导入

javax.xml.bind.jar 包

如果你使用的是 Gradle 则只要添加以下语句即可

implementation 'javax.xml.bind:jaxb-api:2.3.1'

如果你使用的是 Maven 则添加以下语句

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>

如果是普通Java类

请先下载好包,然后复制粘贴到你项目的lib目录下

如果需要 jar 文件,那么点击下载

http://www.java2s.com/Code/Jar/j/Downloadjavaxxmlbindjar.htm

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

你好,请问你的问题解决了吗~我和你出现了一模一样的问题,希望得到你的帮助!嘿嘿嘿