ODBC 和 JDBC 之间有什么区别?
ODBC 和 JDBC 都是客户端应用程序访问服务器端数据库所需的编程接口。基本上,它们都被称为连接数据库的驱动程序,并由 RDBMS 供应商提供。
以下是 ODBC 和 JDBC 之间的重要区别。
| 序号 | 关键点 | ODBC | JDBC |
|---|---|---|---|
| 1 | 代表 | ODBC 代表开放数据库连接,这意味着它兼容所有类型的语言,例如 C、C++、Java 等。 | JDBC 代表 Java 数据库连接,即仅兼容 Java 语言。 |
| 2 | 简介 | ODBC 由微软于 1992 年推出,早于 JDBC。 | JDBC 由 SUN Microsystems 于 1997 年推出,晚于 ODBC。 |
| 3 | 平台依赖性 | ODBC 是平台相关的,因为我们只能在 Windows 平台上使用 ODBC。 | 另一方面,JDBC 是平台无关的,可以用于任何平台。 |
| 4 | 类型 | ODBC 可以被认为是一种过程式类型,因为大多数这些驱动程序都是用 C 和 C++ 等原生过程式语言开发的。 | 另一方面,JDBC 是一种纯面向对象的驱动程序。 |
| 5 | 性能 | 与 JDBC 相比,ODBC 的性能更快,因为数据导入和导出更快且内存密集型。 | 另一方面,JDBC 的性能比原生 ODBC 慢,但其平台独立性使其能够与任何操作系统(包括 Mac 和 Linux)、驱动程序版本或位数(32 位或 64 位)一起使用。 |
ODBC 与 JDBC 示例
C# 中的 ODBC 连接
using System;
using System.Windows.Forms;
using System.Data.Odbc;
namespace WindowsApplication1{
public partial class Form1 : Form{
public Form1(){
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e){
string connetionString = null;
OdbcConnection cnn ;
connetionString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=yourdatabasename.mdb;";
cnn = new OdbcConnection(connetionString);
try{
cnn.Open();
MessageBox.Show ("Connection Open ! ");
cnn.Close();
}
catch (Exception ex){
MessageBox.Show("Can not open connection ! ");
}
}
}
}示例
Java 中的 JDBC 连接
import java.sql.*;
class JavaTester{
public static void main(String args[]){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection(
"jdbc:mysql://:3306/'yourDBname'","username","userpassword");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from emp");
while(rs.next())
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3));
con.close();
}
catch(Exception e){ System.out.println(e);}
}
}
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP