【发布时间】:2017-08-02 12:20:40
【问题描述】:
我需要将sqljdbc4.jar 升级到sqljdbc41.jar。
微软网站有以下信息:
sqljdbc41.jar 类库提供对 JDBC 4.0 API 的支持。它包括 JDBC 4.0 驱动程序的所有功能以及 JDBC 4.0 API 方法。不支持 JDBC 4.1(将抛出异常“SQLFeatureNotSupportedException”)。
因此,Java 中已经运行的 JDBC API 将正常工作。
但是,Microsoft ODBC Driver 1.0 必须与 Microsoft JDBC Driver 4.1 兼容
Microsoft ODBC Driver 1.0 可以和Microsoft JDBC Driver 4.1 一起使用吗?
另外,如果 java 应用程序只使用 JDBC 连接到 Microsoft SQL Server,而任何其他语言应用程序需要使用 ODBC 连接到数据库,那么什么时候使用 JDBC-ODBC 桥接?
系统规格:
Linux:64 位 Red Hat Enterprise Linux Server 6.4 版
Linux 上的 ODBC:unixODBC 2.3.0 驱动管理器
应用程序:仅 Java 应用程序
【问题讨论】:
-
JDBC 驱动程序用于从 Java 应用程序(或至少运行在 JVM 中的应用程序)连接到 SQL Server 数据库,它与 ODBC 无关:它不使用 ODBC,也不能它可以从 ODBC 中使用。
-
请edit您的问题更好地解释您想要完成的任务。正如@MarkRotteveel 所说,JDBC 驱动程序是您从Java 应用程序操作SQL Server 数据库所需的全部。您是否有另一个需要使用 ODBC 驱动程序的非 Java 应用程序,如果有,您是否担心这两个应用程序可能会以某种方式相互冲突?顺便说一句,您的 ODBC 驱动程序链接适用于 非常(>5 年)旧版本。
-
是的,ODBC 1.0 将来会更改。我已经编辑了这个问题。那么 JDBC-ODBC 桥呢?如果 java 应用程序只使用 JDBC 连接到 Microsoft SQL Server,而任何其他语言应用程序需要使用 ODBC 连接到数据库,那么什么时候使用 JDBC-ODBC 桥接器?
-
如果您有一个完美的纯 JDBC 驱动程序可供使用,为什么还要在您的问题中引入 JDBC/ODBC 桥?学术好奇心?知道这座桥一直是作为一种过渡措施而设计的,它已从 Java 8 中删除。
-
好的,所以 odbc 似乎没有被使用,因为我的应用程序没有 sun.jdbc.odbc.JdbcOdbcDriver 。我不知道 JDBC/ODBC 桥是一种过渡措施,在 JDK 8 中已经过时了
标签: java sql-server jdbc odbc jdbc-odbc