【发布时间】:2011-11-11 18:44:03
【问题描述】:
我现在在几个应用程序中使用 JDBC 来查询 Derby、PostgreSQL 和现在的 MySQL 数据库。我想我在试图理解引擎盖下实际发生的事情时被一些基本术语窒息。我见过的几个术语:
- ODBC
- JDBC 驱动程序
- 桥
- JDBC-ODBC 桥
我尽我最大的努力去挖掘并了解它们是什么、它们做什么以及它们之间的关系。我相信我已经完成了大约 70% 的工作,但我似乎找不到任何东西(文章、博客、文档等)可以将所有内容很好地结合在一起并证实我的怀疑。
似乎 ODBC 是一个 C 库(可能是 DLL?),程序可以使用它与 RDBM 系统(例如 PostgreSQL 和 MySQL)进行通信。对这些系统的所有查询都流入和流出给定系统上的这个库。
JDBC-ODBC 桥是一个 Java 组件,它包含允许 JDBC 与给定系统上的 ODBC 库通信的本机代码。
JDBC 是用于查询 RDBM 系统的纯 Java API。
JDBC 驱动程序(例如 PostgreSQL-JDBC 驱动程序)是我真正遇到问题的地方。 如果所有 RDBM 系统都遵循 RDBMS 标准,并且可以与 ODBC 库进行通信,那为什么JDBC 需要不同的“驱动程序”吗?
这些驱动程序是什么?他们在做什么?为什么它们是必要的?对我在这里所做的任何其他断言的澄清将不胜感激。提前致谢!
【问题讨论】:
-
相关:stackoverflow.com/questions/2381337/… 尽可能获取最新的。