ODBC 基礎(轉)

heying1229發表於2007-07-28
ODBC 基礎:

  這是使用 win32asm進行資料庫程式設計系列的第一份教程。在如今的IT界,資料庫程式設計變的越來越重要,所以我們不能再忽視它。但如今有很多種資料庫在使用,如果我們為了實現win32下資料庫組合語言程式設計而學習各種資料庫檔案格式,所花時間大概稱得上“永恆”。

幸運的是,Microsoft的一項技術使得我們得以擺脫這個大麻煩。它被稱為ODBC,是開放式資料庫互連(Open Database Connectivity)的縮寫,這是一族API,與Windows API相似。它主要與資料庫打交道。就是說,利用ODBC API,你可透過統一介面和好多各不相同的資料庫打交道。

ODBC是如何工作的?它的結構式怎樣的?在使用ODBC之前,你應對它的結構有一個清楚的瞭解。 ODBC有四個組成部分:

應用程式 (Application,你的程式)
ODBC 管理器 (ODBC manager)
ODBC 驅動程式(ODBC Drivers)
資料來源 (Data Sources,資料庫)
這四個元件的核心是ODBC 管理器。 你可把它想象成你的監工。你告訴它你希望他作什麼,然後它把你的要求傳達給它的工人(ODBC 驅動程式)並完成工作。如果工人有什麼想告訴你的,它會與監工(ODBC 管理器)說,由監工傳達給你。工人們很明白他們應作什麼,因此他們會為你很好的完成工作。

透過這樣的模式,我們並不與資料庫驅動程式直接通訊。你只需告訴資料庫管理器你想要做什麼。而使用恰當的ODBC驅動程式來實現你的目的則是ODBC管理器的事。每個ODBC 驅動程式對於它所對應的資料庫均有足夠了解。各部件各司其職,極大的簡化了工作量。

你的程式

ODBC管理器由Microsoft提供。看一下你的控制皮膚。如果你正確地安裝了ODBC你會找到ODBC資料來源(32位) 專案。 至於ODBC驅動程式, Microsoft隨他們的產品提供了好幾種。並且你總可從資料庫提供商那裡獲得新的ODBC 驅動程式。只要簡單地安裝新的ODBC驅動程式,你的機器就可使用新的它以前不知道的資料庫。

ODBC APIs 使用很簡單,但你需要知道一些關於SQL和資料庫的知識。例如欄位(field),主鍵(primary key),記錄(record),列(column),行(row)等。我須假定你已知道資料庫理論的一些基礎知識,這樣我才能討論win32下用匯編語言進行ODBC程式設計的細節問題。正如你所看到的,ODBC 管理器試圖在你的程式裡隱藏實現的細節。這意味著它必須提供某些基本介面來與你的程式和ODBC驅動程式進行通訊。 由於ODBC驅動程式在某些效能方面存在著差異,因此必須存在一種方法,以使得我們的程式能夠知道某個ODBC驅動程式是否支援某一特性。 ODBC定義了被稱為Interface Conformance Levels的三層服務介面。第三層是核心層。任何ODBC驅動程式都要象在第一層和第二層實現功能一樣實現核心層表中的所有特性。從我們的程式的眼光來看, ODBC APIs被分割為這樣的三層。如果某個函式被標為核心的,就意味著你可放心使用而不必擔心它是否為你正使用的ODBC驅動程式支援。如果它是一個第一層或第二層的函式,你就得確認ODBC驅動程式是否支援,然後再使用。你可透過MSDN獲得ODBC APIs的詳細資料。

在編寫程式碼之前你應瞭解一些ODBC的名詞。

環境(Environment). 和字面意思一樣,是一個全域性文字用來存取資料。如果你熟悉DAO的話,你可把它想象為一個workspace。它包含應用於所有ODBC session的資訊,例如一個session的connections控制程式碼。在用ODBC之前你必須從環境中獲得這個控制程式碼。
連線(Connection). 指定ODBC驅動程式和資料來源(資料庫)。你可以在同一環境中同時連線不同的資料庫
語句(Statement). ODBC使用SQL作為自己的語言。 因而只要簡單的認為語句就是你希望ODBC執行的SQL命令就行了。
以下是使用ODBC程式設計的一般步驟:

連線資料來源
建立並執行一條或多條SQL語句
檢查結果記錄(如果有的話)
斷開資料來源
在接下來的教程中我們來學習如何來實現這幾步。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10172717/viewspace-928791/,如需轉載,請註明出處,否則將追究法律責任。

相關文章