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