weixin_44487484 2021-03-31 11:02 采纳率: 44.4%
浏览 127
已采纳

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
 

  • 写回答

3条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2021-03-31 11:31
    关注

    导入

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
  • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)
  • ¥30 python,LLM 文本提炼
  • ¥15 关于将inet引入的相关问题
  • ¥15 关于一个倒计时的操作和显示设计
  • ¥15 提问STK的问题,哪位航天领域的同学会啊
  • ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
  • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 如何卸载arcgis 10.1 data reviewer for desktop