jdbc和odbc区别

2024-12-01 18:05:34
推荐回答(5个)
回答1:

ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC
JDBC是执行SQL语句的Java API。JDBC本身是一个产品的商标名,但它也可被看作为"Ja
va Database Connecivity(Java数据库连接)"。它由一组用Java语言编写的类与接口组成。
JDBC已成为一种供工具/数据库开发者使用的标准API,用户可以用纯Java API来编写数据库
应用。

1)Java不能直接使用ODBC。因为ODBC使用C语言接口,如果让Java来调用本机C代码的话
,那么会在安全、属性、健壮性、应用的可移植性等方面带来困难。
(2)不希望把ODBC C API逐字地翻译成Java API。例如,ODBC使用了大量的易于出错的指
针,而Java取消了这种不安全的指针。现在通过JDBC,把ODBC翻译成具有Java风格的面向对象
的接口。
(3)ODBC难以学习。ODBC把简单功能与高级功能混杂在一起,即便是简单的查询也会带来
复杂的任选项。而JDBC的设计使得简单的事情用简单的做法,仅在必要时才让用户使用高级
功能。
(4)JDBC的Java API提供"纯Java"的解决办法。当使用ODBC时,ODBC驱动器管理程序与驱
动器必须手工地装入到每架客户机上。而JDBC驱动器全部是用Java编写的,JDBC代码则在所
有Java平台(从网络计算机到主机)上都可自动安装,并且是可移植的和安全的。

回答2:

1)Java不能直接使用ODBC。因为ODBC使用C语言接口,如果让Java来调用本机C代码的话
,那么会在安全、属性、健壮性、应用的可移植性等方面带来困难。

回答3:

odbc不可以跨平台,,,jdbc可以跨平台,,

回答4:

ODBC是微软开发的,基于C语言的一种数据库接口API调用集。对于一个已知的环境来说使用OBDC没有问题,可以直接解决需要。但ODBC是用C语言实现的,所以是函数式的,并不面向对象。对于不同语言间的调用有些问题。特别是当java出现之后,Java用自己的类库形式对ODBC做了一些封装。等于是对ODBC的C语言API套了一个面向对象的外壳。如果不严格区分的话,当java程序服务端配置数据库的时候,可以实现jdbc/odbc的直接对接。当然,因为软件界对数据库的接口不止ODBC一种,可以说很多根本性的接口都是类似用C语言之类实现的,包括很多非ODBC的专用接口。Java在与数据库的接口封装中,不止用类的方式封装了ODBC,还封装了很多别的形式接口。总之,这样一来就形成了一套Java的数据库接口。使用者只要用Java的这个JDBC就能通打万方了,而不用各种接口都精通。这就是实际的本质。

回答5:

ODBC不好用,少用;
JDBC 经常用在java程序里面,用来连接数据库,