我们可以只使用odbc与java连接数据库吗?

时间:2010-12-07 15:41:55

标签: java jdbc odbc

我们是否总是必须将jdbc与Java程序一起使用才能与数据库建立连接,还是只使用odbc来连接数据库与Java程序?

6 个答案:

答案 0 :(得分:4)

Sun JRE包含内置的JDBC / ODBC驱动程序(sun.jdbc.odbc.JdbcOdbcDriver)。以下是如何使用它的示例:http://www.javacoffeebreak.com/articles/jdbc/

驱动程序已在Oracle JRE 8中删除,因此请使用Java 7或更早版本。

答案 1 :(得分:1)

您不能直接使用 ODBC ,因为您的JAVA程序需要使用 JDBC 驱动程序与数据库进行交互。

答案 2 :(得分:1)

正如其他人提到的,您可以使用JDBC / ODBC桥驱动程序。 (在这里重复@ Rustam的链接:http://www.javacoffeebreak.com/articles/jdbc/)。

使用JDBC-ODBC桥时需要注意几点。第一:由于各种原因,Sun不建议使用它。使用桥而不是正确的JDBC驱动程序的前三个含义是:

  • 并非所有JDBC功能都受支持。 ODBC是一种限制性更强的API,因此不支持某些功能(如事务中的保存点)。但是,最常见的功能如预备语句是。
  • Java运行时转换的本机代码比使用Java执行所有内容要慢得多。
  • JDBC / ODBC驱动程序比适当的JDBC驱动程序更脆弱。实质上,如果ODBC驱动程序的实现者不以某种方式执行操作,JDBC驱动程序将失败并抛出一些您可能无法捕获的额外异常。特别是,您将更容易受到内存泄漏的影响。如果您没有构建长期运行的服务,那么您可能没问题。

也就是说,JDBC / ODBC驱动程序适用于没有直接JDBC支持的数据库(大多数主要数据库都支持)。有时你不需要所有那些花哨的功能,只想快速拼凑一些东西。 JDBC / ODBC驱动程序就是为此而设计的。

答案 3 :(得分:1)

简答:NO。

ODBC(开放式数据库连接)隐藏了您正在与之交谈的数据库的详细信息。它与Java无关。如果java程序需要与数据库通信,那么它们必须与ODBC驱动程序进行交互。要与ODBC驱动程序交互,您需要JDBC-ODBC驱动程序,它隐藏了通信的详细信息。您几乎可以进行一些方法调用,并且所有设置都可以。抽象的力量。

答案 4 :(得分:0)

您可以使用JDBC-ODBC drivers

答案 5 :(得分:0)

我的理解是你不会想要 - 当事情没有完美时,它会变得单调乏味且容易出错。

即。当/如果从java内部调用非java DLL时,你不能捕获异常。