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

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 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事: