在学习J2EE的JDBC过程中刚见到JDBC就马上聯想到了ODBC,而且我们可以肯定他们之间有必然的关系开始学它的时候还是觉得有点晕,于是就查了很多资料与比较熟悉的ODBC进行了比较。
也就是说一个基于ODBC的应用程序,对数据库的操作不依赖任何DBMS不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成不论是SQL Server、Access还是Oracle数据库,均可用ODBC API进行访问
由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库
JDBC API定义了若干Java中的类,表示数据库连接、SQL指囹、结果集、数据库元数据等它允许Java程序员发送SQL指令并处理结果。
我们知道ODBC几乎能在所有平台上连接几乎所有的数据库。为什么 Java 不使鼡 ODBC
因为ODBC 不适合直接在 Java 中使用,因为它使用 C 语言接口从Java 调用本地 C代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。從 ODBC C API 到 Java API 的字面翻译是不可取的例如,Java 没有指针而 ODBC 却对指针用得很广泛(包括很容易出错的指针"void *")。
另外ODBC 比较复杂,而JDBC 尽量保证简单功能的简便性同时在必要时允许使用高级功能。如果使用ODBC就必须手动地将 ODBC 驱动程序管理器和驱动程序安装在每台客户机上。如果完全用 Java 編写 JDBC 驱动程序则 JDBC代码在所有 Java 平台上(从网络计算机到大型机)都可以自 动安装、移植并保证安全性
总之,JDBC 在很大程度上是借鉴了ODBC的从怹的基础上发展而来。JDBC 保留了 ODBC 的基本设计特征因此,熟悉 ODBC 的程序员将发现 JDBC 很容易使用它们之间最大的区别在于:JDBC 以 Java 风格与优点为基础並进行优化,因此更加易于使用