小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

MySQL數(shù)據(jù)庫(kù)技術(shù)(30)

 Ralf_Jones 2006-07-19
破釜沉舟 http://www.


文章類(lèi)別:MySQL  發(fā)表日期:2005-09-27      閱讀次數(shù): 263

 

6.2 客戶機(jī)程序1—連接到服務(wù)器
    我們的第一個(gè)MySQL 客戶機(jī)程序很簡(jiǎn)單:連接到服務(wù)器、斷開(kāi),并退出。它本身并不是非常有用,但是必須知道如何做它,因?yàn)閷?shí)際上用MySQL 數(shù)據(jù)庫(kù)做任何事情都必須與服務(wù)器連接。這是一個(gè)公用的操作,開(kāi)發(fā)創(chuàng)建連接的代碼是編寫(xiě)每個(gè)客戶機(jī)程序都將使用的代碼。除此之外,這項(xiàng)任務(wù)帶給我們一些簡(jiǎn)單開(kāi)始的事情。以后,我們可以增加這個(gè)客戶機(jī)來(lái)做一些更有用的事情。我們第一個(gè)客戶機(jī)程序的源代碼,客戶機(jī)程序1,包括一個(gè)單獨(dú)的文件, client.c:


    這個(gè)源文件以包括stdio.h 和mysql.h 開(kāi)始。MySQL 客戶機(jī)可能包括其他的頭文件,但是一般來(lái)說(shuō)至少有兩個(gè)是最基本的。
    主機(jī)名稱(chēng)、用戶名稱(chēng)、口令和數(shù)據(jù)庫(kù)名稱(chēng)的缺省值固定在代碼內(nèi)部,使事情變得簡(jiǎn)單。以后,我們將參數(shù)化這些值,以便可以在選項(xiàng)文件或命令行中指定它們。程序的main() 函數(shù)創(chuàng)建和終止與服務(wù)器的連接。建立連接使用如下兩個(gè)步驟:
    1) 調(diào)用mysql_init() 來(lái)獲取連接處理程序。MYSQL 數(shù)據(jù)類(lèi)型是一個(gè)包括連接信息的結(jié)構(gòu)。這種類(lèi)型的變量稱(chēng)為連接處理程序。當(dāng)我們將NULL 傳遞給mysql_init() 時(shí),它分配一個(gè)MYSQL 變量,初始化它,然后返回一個(gè)指向它的指針。
    2) 調(diào)用mysql_real_connect() 來(lái)創(chuàng)建與服務(wù)器的連接。mysql_real_connect() 可有任意數(shù)量的參數(shù),例如:
    ■ 連接處理程序的指針。這不能為N U L L;它應(yīng)該是由mysql_init() 返回的值。
    ■ 服務(wù)器主機(jī)。如果指定NULL 或主機(jī)“l o c a l h o s t”,則客戶機(jī)連接到在本地主機(jī)使用UNIX 套接字運(yùn)行的服務(wù)器上。如果指定一個(gè)主機(jī)名稱(chēng)或主機(jī)的IP 地址,則客戶機(jī)連接到使用TCP/IP 連接命名的主機(jī)上。
    在Windows 上,除了使用TCP/IP 連接而不是用UNIX 套接字以外,這種操作是類(lèi)似的(在Windows NT 上,如果主機(jī)為N U L L,則在TCP/IP 以前,先試著使用一個(gè)指定的管道來(lái)連接)。
    ■ 用戶名稱(chēng)和口令。如果名稱(chēng)為N U L L,則客戶機(jī)庫(kù)將邏輯名稱(chēng)發(fā)送給服務(wù)器。如果口令為N U L L,則不發(fā)送口令。
    ■ 端口號(hào)和套接字文件。這些指定為0 或N U L L,來(lái)告知客戶機(jī)庫(kù)使用它的缺省值。如果不指定端口和套接字,則根據(jù)希望連接到的主機(jī)確定這些缺省值。附錄F 中的mysql_real_connect() 的描述給出有關(guān)這些的詳細(xì)情況。
    ■ 標(biāo)志值。因?yàn)槲覀儾皇褂萌魏翁囟ǖ倪B接操作,因此它是0。這個(gè)參數(shù)可用的選項(xiàng)在附錄F 中的mysql_real_connect() 的項(xiàng)目中討論詳細(xì)情況。要想終止這個(gè)連接,可將連接處理程序的指針傳遞給mysql _ close()。當(dāng)將連接處理程序傳遞mysql_close() 來(lái)終止個(gè)連接時(shí),由mysql_init() 自動(dòng)分配的連接處理程序自動(dòng)地釋放。
    要想測(cè)試客戶機(jī)程序1,可使用本章前面建立客戶機(jī)程序時(shí)給出的指導(dǎo)來(lái)編譯和連接,然后運(yùn)行它:
    % client1
    程序連接到服務(wù)器、斷開(kāi)并退出。這一點(diǎn)都不令人興奮,但它是一個(gè)開(kāi)始。然而,它只是一個(gè)開(kāi)始,因?yàn)橛袃蓚€(gè)重要的缺點(diǎn):
    ■ 客戶機(jī)沒(méi)有錯(cuò)誤檢查,所以并不真正地知道實(shí)際上它是否在工作!
    ■ 連接參數(shù)(主機(jī)名稱(chēng),用戶名稱(chēng)等)在源代碼內(nèi)部固定。如果允許用戶通過(guò)指定選項(xiàng)文件或命令行中的參數(shù)來(lái)解決這個(gè)問(wèn)題則更好一些。這些問(wèn)題的處理都不困難。我們將在下面專(zhuān)門(mén)解決它們。


破釜沉舟 http://www.

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多