程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL數據庫技術(29)

MySQL數據庫技術(29)

編輯:關於MYSQL數據庫

  MySQL提供用C編程語言編寫的客戶機庫,可以用它編寫訪問M y S Q L的客戶機程序。這個庫定義了應用程序編程接口,包括下面的實用程序:

    ■ 建立和終止與服務器會話的連接管理例程。

    ■ 構造查詢的例程,將例程發送到服務器,並處理結果。

    ■ 當其他C API調用失敗時,確定錯誤准確原因的狀態和錯誤報告函數。

    本章介紹如何用客戶機庫編寫自己的程序。我們要記住的一些要點是,自己的程序與MySQL 分發包中已有的客戶機程序的一致性,代碼的模塊性和可重用性。本章假設您知道用C編程的一些知識,但並不一定是專家。本章從簡單到復雜粗略地開發了一系列的客戶機程序。這個過程是第一部分開發了一個程序框架,該框架除了與服務器連接和斷開以外不能作任何事情。這樣做的原因是,盡管MySQL 客戶機程序是為不同的目的而編寫的,但它們都有一個共同點:即創建與服務器的連接。

    我們將用以下步驟來建立這個程序框架:

    1. 編寫一些連接和斷開的簡要代碼(客戶機程序1)。

    2. 增加一些錯誤檢查(客戶機程序2)。

    3. 使連接代碼模塊化和可重用化(客戶機程序3)。

    4. 增加獲取運行時連接參數的能力(主機,用戶,口令)(客戶機程序4)。

    這個框架一般是合理的,可以使用它作為編寫任意數量的客戶機程序的基礎。開發它以後,我們將暫不考慮如何處理各種問題。首先,我們將討論如何處理特定的硬編碼的S Q L語句,然後再開發用於處理任意語句的代碼。在這之後,將查詢處理的代碼增加到客戶機程序框架中,開發另一個程序(客戶機程序5),它類似於mysql 客戶機程序。我們也將考慮(並解決)一些通用的問題,如“如何獲取有關表的結構信息?”和“如何在數據庫中插入圖像?”只有在需要時,本章才討論客戶機庫的函數和數據類型。要想了解所有函數和類型的列表,請參閱附錄F“C API 參考”。可以用這個附錄作為使用客戶機庫任何部分的進一步的背景信息的參考。

    樣例程序可以由聯機下載得到,可以直接使用,而不必再鍵入它們。有關的指導,請參閱附錄A“獲得和安裝軟件”。

    在哪裡尋找樣例

    MySQL 郵件清單的一個共同問題就是“我在哪裡可以找到一些用C 寫的客戶機樣例?”。當然,這個答案是“就在本書裡!”。但是,許多人好像並沒有考慮的是MySQL分發包中包括了若干客戶機程序(例如mysql、mysqladmin 和mysqldump),這些大部分都是用C編寫的。因為這個分發包可以很容易地以源程序形式使用,所以MySQL 提供非常少的樣例客戶機代碼。因此,如果您還沒有這樣做,找個時間找到源程序分發包,在客戶機目錄中查看這些程序。MySQL 客戶機程序為共享軟件,從那裡可以為自己的程序自由地借用代碼。

    在本章提供的樣例和MySQL 分發包中包括的客戶機程序之間,可以找到與自己編寫程序時想做的事情相類似的代碼。如果是這樣,可以通過拷貝和修改已有的程序來重新使用代碼。應該閱讀本章,了解客戶機庫是如何工作的。然而,請記住,並不總是需要自己編寫瑣碎的每件事情(您將注意到,在本章編寫程序的討論中,代碼的可重用性是目的之一)。通過使用其他人編好的程序,可以避免許多工作,那是最好的。

    6.1 建立客戶機程序的一般過程

    本節介紹使用M y S Q L客戶機庫編譯和連接程序所包括的步驟。不同的系統建立客戶機程序的命令也有所不同,可能需要稍微修改一下這裡介紹的命令。然而,這裡的說明是通用的,應該能夠將它用於幾乎您編寫的任何客戶機程序中。

    6.1.1 基本的系統需求

    當您用C 編寫MySQL 客戶程序時,顯然將需要一個C 編譯程序。這裡說明的樣例使用gcc。除了自己的源文件以外,還將需要下列程序:

    ■ MySQL 頭文件。

    ■ MySQL 客戶機庫。

    MySQL 頭文件和客戶機庫組成客戶機編程的支持程序。它們可能已經安裝到您的系統上。如果沒有,應獲取它們。如果MySQL 從源程序分發包或二進制分發包中安裝,則客戶機可編程的支持程序應該已經作為該處理的一部分安裝了。如果MySQL 是從RPM 文件中安裝的,則除非安裝了開發程序R P M,否則就沒有這種支持。如果需要安裝MySQL 頭文件和庫,請參閱附錄A。

  • 首頁
  • 上一頁
  • 1
  • 2
  • 下一頁
  • 尾頁
  • 共2頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved