首页 > 解决方案 > jdbc无法从sql表中获取数据

问题描述

我想简单地从 sql server 获取数据并在我的 java 程序中使用它,因为我使用过:sql server 2017、jdk10、mssql-jdbc-6.2.2.jre8.jar。顺便说一句,我记得我的 sql 数据库密码(我的意思是我忘记了 sql server autentification 密码)这就是为什么我使用了integratedSecurity=true 并在system32中添加了sqljdbc_auth.dll(我想它对我来说很好用)但是出于某种原因adter 盯着 sql server servicies 并在防火墙中添加新规则以进行 servure 连接我无法从服务器获取数据,我 gto 错误如下:

java lang classnotfoundexception javax xml绑定数据类型转换器

这是我的代码, 你知道我应该如何解决这个任务吗?

public void dbConnect(String db_connect_string)
       {
          try {
             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
             Connection conn = DriverManager.getConnection(db_connect_string);
             System.out.println("connected");
             Statement statement = conn.createStatement();
             String queryString = "select * from tab1";
             ResultSet rs = statement.executeQuery(queryString);
             while (rs.next()) {
                System.out.println(rs.getString(1));
             }
          } catch (Exception e) {
             e.printStackTrace();
          }
       }

    public static void main(String[] args) {
        DBConnection connServer = new DBConnection();

          connServer.dbConnect("jdbc:sqlserver://localhost:51696;databaseName=test;integratedSecurity=true");

    }

标签: javasql-serverjdbc

解决方案


java.xml.bind module and has been deprecated and removed from classpath in java 9

Since javax.xml.bind is sub package of Module java.xml.bind you are getting ClassNotFoundException

solution:-

java.xml is deprecated but not removed from Java 9 you have to run by adding below statement

--add-modules java.xml.bind

if you are using maven or gradle just add the below dependencies



    Gradle:-
compile 'javax.xml.bind:jaxb-api:2.3.0'

Maven:-
<dependency>
  <groupId>javax.xml.bind</groupId>
  <artifactId>jaxb-api</artifactId>
  <version>2.3.0</version>
</dependency> 

推荐阅读