天天看點

Linux/Unix下ODBC的安裝

原理

ODBC 是Open Database Connect 即開放資料庫互連的簡稱,它是由Microsoft 公司于1991 年提出的一個用于通路資料庫的統一界面标準,是應用程式和資料庫系統之間的中間件。它通過使用相應應用平台上和所需資料庫對應的驅動程式與應用程式的互動 來實作對資料庫的操作,避免了在應用程式中直接調用與資料庫相關的操作,進而提供了資料庫的獨立性。

ODBC 主要由驅動程式和驅動程式管理器組成。驅動程式是一個用以支援ODBC 函數調用的子產品,每個驅動程式對應于相應的資料庫,當應用程式從基于一個資料庫系統移植到另一個時,隻需更改應用程式中由ODBC 管理程式設定的與相應資料庫系統對應的别名即可。驅動程式管理器可連結到所有ODBC 應用程式中,它負責管理應用程式中ODBC 函數與DLL 中函數的綁定。

ODBC 使用層次的方法來管理資料庫,在資料庫通信結構的每一層,對可能出現依賴資料庫産品自身特性的地方,ODBC 都引入一個公共接口以解決潛在的不一緻性,進而很好地解決了基于資料庫系統應用程式的相對獨立性,這也是ODBC 一經推出就獲得巨大成功的重要原因之一。

從結構上分,ODBC 分為單束式和多束式兩類。

  1. 單束式驅動程式

    單束式驅動程式介于應用程式和資料庫之間,像中介驅動程式一樣資料提供一個統一的資料通路方式。 當使用者進行資料庫操作時,應用程式傳遞一個ODBC 函數調用給ODBC 驅動程式管理器,由ODBC API 判斷該調用是由它直接處理并将結果傳回還是送交驅動程式執行并将結果傳回。 由上可見,單束式驅動程式本身是一個資料庫引擎,由它直接可完成對資料庫的操作,盡管該資料庫可能位于網絡的任何地方。

  2. 多束式驅動程式

    多束式驅動程式負責在資料庫引擎和客戶應用程式之間傳送指令和資料,它本身并不執行資料處理操作而用于遠端操作的網絡通信協定的一個界面。 前端應用程式提出對資料庫處理的請求,該請求轉給ODBC 驅動程式管理器,驅動程式管理器依據請求的情況,就地完成或傳給多束驅動程式,多束式驅動程式将請求翻譯為特定廠家的資料庫通信接口(如Oracle 的SQLNet)所能了解的形式并交于接口去處理,接口把請求經網絡傳送給伺服器上的資料引擎,伺服器處理完後把結果發回給資料庫通信接口,資料庫接口将 結果傳給多束式ODBC 驅動程式,再由驅動程式将結果傳給應用程式。

很多程式員已經體會到了在Windows平台下的ODBC的益處,而在 Linux/Unix下進行資料庫程式設計的時候卻不得不根據不同的資料庫來選擇特有的API進行程式設計,一旦資料庫發生了改變,所有與這些API相關的程式都 必須進行修改。其實在Linux/Unix下現在也有了自己的ODBC,可以使我們的資料庫程式設計就像在Windows平台下一樣簡單。

安裝

方法一:

先下載下傳最新的unixODBC源碼包( http://www.unixodbc.org/unixODBC-2.2.1.tar.gz)放到/usr/local下,然後運作下述指令:

Linux/Unix下ODBC的安裝

tar zxvf unixODBC-2.2.1.tar.gz

Linux/Unix下ODBC的安裝

cd unixODBC-2.2.1 

Linux/Unix下ODBC的安裝

./configure --prefix=/usr/local/unixODBC-2.2.1

     --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin

     --sysconfdir=/etc

Linux/Unix下ODBC的安裝

make

Linux/Unix下ODBC的安裝

make install 安裝成功後,unixODBC所需的頭檔案都被安裝到了/usr/inlucde下,編譯好的庫檔案安裝到了/usr/lib下,與unixODBC相關的可執行檔案安裝到了/usr/bin下,配置檔案放到了/etc下。

方法二:

下載下傳rpm包進行安裝,我們這裡以Red Hat 7.3為例:

unixODBC-2.2.0-5 RPM for i386(安裝包及源碼包)

( ftp://speakeasy.rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/unixODBC-2.2.0-5.i386.rpm、 ftp://ftp.rpmfind.net/linux/redhat/7.3/en/os/i386/SRPMS/unixODBC-2.2.0-5.src.rpm)

unixODBC-devel-2.2.0-5 RPM for i386

( ftp://speakeasy.rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/unixODBC-devel-2.2.0-5.i386.rpm)

直接将unixODBC-2.2.0-5.i386.rpm和unixODBC-devel-2.2.0-5.i386.rpm裝入系統就可以了,指令如下:

Linux/Unix下ODBC的安裝

rpm -ivh unixODBC-2.2.0-5.i386.rpm

Linux/Unix下ODBC的安裝

rpm -ivh unixODBC-devel-2.2.0-5.i386.rpm

Linux/Unix下ODBC的安裝
Linux/Unix下ODBC的安裝

安裝好以後,所需的各個部分與上面所列的位置相同。