首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Spring连接到ODBC数据源?

问如何从Spring连接到ODBC数据源?
EN

Stack Overflow用户
提问于 2022-05-16 16:34:45
回答 1查看 621关注 0票数 0

我正在开发一个Spring应用程序,它从旧的ODBC数据源中轮询数据,并将其插入MS数据库。

​

​

我需要连接到DSN,即使用进度OpenEdge驱动程序。

我连接到DSN的研发代码如下所示:

代码语言:javascript
复制
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcDemo
{
    public static void main(String args[]) throws Exception
    {
        try
        {
            String query = "SELECT Name,Description,Qty,Cost FROM Stock";

            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:DSN_Name");
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            while (rs.next())
            {
                String name = rs.getString("Name");
                String desc = rs.getString("Description");
                int qty = rs.getInt("Qty");
                float cost = rs.getFloat("Cost");
                System.out.println(name + ", " + desc + "\t: " + qty + "\t@ $" + cost);
            }
            con.close();
        }
        catch (Exception e)
        {
            System.err.println(e);
        }

    }
}

但是它在运行时会抛出java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver错误。我做了一些谷歌搜索,发现这已经不再支持了。那么我如何连接到这个ODBC数据源呢?我正在使用Java 17。

EN

回答 1

Stack Overflow用户

发布于 2022-05-16 16:49:34

java.lang.classnotfoundexception sun.jdbc.odbc.jdbcodbcdriver异常出现在Java8中,因为它从JDK和JRE中删除了JDBC桥驱动程序类"sun.jdbc.odbc.jdbcodbcdriver“。需要使用对象数据库连接驱动程序(例如Microsoft )连接任何数据库,但不幸的是,您不能从JDK 8继续使用它。为了解决此错误,只需使用Jackcess库或像HXTT这样的商业驱动程序即可。通常,在Java8之前的世界中,当您尝试使用JDBC和JDBC ODBC桥驱动程序从java.lang.classnotfoundexception连接到Microsoft数据库时,类路径中无法使用java.lang.classnotfoundexception sun.jdbc.odbc.jdbcodbcdriver错误。

阅读更多:https://javarevisited.blogspot.com/2015/07/how-to-solve-javalangclassnotfoundexception-sun.jdbc.odbc.jdbcodbcdriver.html#ixzz7TTDxvBZp

我们仍然可以在Java 8中使用JDBC-ODBC桥(Java 17没有测试),我们总是可以从JDK 7:Removal of JDBC ODBC bridge in java 8中提取驱动程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72262613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档