程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL數據庫接口在VC中的實際應用有哪些?

MySQL數據庫接口在VC中的實際應用有哪些?

編輯:MySQL綜合教程

MySQL(和PHP搭配之最佳組合)數據庫作為一種網絡數據庫性能十分出色,但其在應用軟件中使用較少。本文將主要探討MySQL數據庫接口 ——ODBC API和C API)在VC中的應用,並且形成一個類用以封裝C API數據庫接口的功能。

利用MySQL(和PHP搭配之最佳組合)自帶的C API函數實現數據庫功能調用

由於各個數據庫之間的差異,它們所提供的數據庫功能也就各有不同。這樣,通過ODBC API就不可能完全擁有所有的數據庫功能,因而影響了程序對數據庫的控制功能,也就不能充分發揮數據庫的能力。並且這種統一的接口還是以損失效能為前提的,這就使數據庫操作時間延長。所以,為了解決以上問題,MySQL(和PHP搭配之最佳組合)的制造商在提供ODBC驅動程序的基礎上,還提供了各種編程環境下的API,其中包括C API。這些API函數很顯然能盡可能地發揮數據庫的能力,並減少數據庫操作的延長時間,但卻使程序的通用性受到嚴重影響。

MySQL(和PHP搭配之最佳組合)提供了一套C API函數,它由一組函數以及一組用於函數的數據類型組成,這些函數與MySQL(和PHP搭配之最佳組合) 服務器進行通信並訪問MySQL數據庫接口,可以直接操控數據庫,因而顯著地提高了操控效能。

C API數據類型包括:MySQL(和PHP搭配之最佳組合)數據庫連接句柄)、MySQL(和PHP搭配之最佳組合)_RES查詢返回結果集)、MySQL(和PHP搭配之最佳組合)_ROW行集)、MySQL(和PHP搭配之最佳組合)_FIELD字段信息)、MySQL(和PHP搭配之最佳組合)_FIELD_OFFSET字段表的偏移量)、my_ulonglong自定義的無符號整型數)等;

C API提供的函數包括:MySQL(和PHP搭配之最佳組合)_close()、MySQL(和PHP搭配之最佳組合)_connect()、MySQL(和PHP搭配之最佳組合)_query()、MySQL(和PHP搭配之最佳組合)_store_result()、MySQL(和PHP搭配之最佳組合)_init()等,其中MySQL(和PHP搭配之最佳組合)_query()最為重要,能完成絕大部分的數據庫操控。

下面將具體討論數據庫操作類CDatabase通過C API的實現以及在VC中的應用。

查看max_connections、max_connections的辦法見後。

如果 threads_connected == max_connections 時,數據庫系統就不能提供更多的連接數了,這時,如果程序還想新建連接線程,數據庫系統就會拒絕,如果程序沒做太多的錯誤處理,就會出現類似強壇的報錯信息。

因為創建和銷毀數據庫的連接,都會消耗系統的資源。而且為了避免在同一時間同時打開過多的連接線程,現在編程一般都使用所謂數據庫連接池技術。

但數據庫連接池技術,並不能避免程序錯誤導致連接資源消耗殆盡。

這種情況通常發生在程序未能及時釋放數據庫連接資源或其他原因造成數據庫連接資源不能釋放,但強壇系統估計不會發生這種低級的編程錯誤。

該錯誤的簡便的檢查辦法是,在刷新強壇頁面時,不斷監視threads_connected的變化。如果max_connections足夠大,而threads_connected值不斷增加以至達到max_connections,那麼,就應該檢查程序了。當然,如果采用數據庫連接池技術,threads_connected增長到數據庫連接池的最大連接線程數時,就不再增長了。

從強壇出錯的情況看,更大的可能性是數據庫系統沒能進行適當地配置。下面提出一點建議。供參考

讓你們的工程師把MySQL(和PHP搭配之最佳組合)的最大允許連接數從默認的100調成32000。這就不會老出現連接過多的問題了。

查看max_connections

進入MySQL(和PHP搭配之最佳組合),用命令:show variables

查看MySQL數據庫接口最大可連接數的變量值:max_connections

查看threads_connected

進入MySQL(和PHP搭配之最佳組合),用命令:show status

查看當前活動的連接線程變量值:threads_connected

設置max_connections

設置辦法是在my.cnf文件中,添加下面的最後紅色的一行:

  1. [MySQL(和PHP搭配之最佳組合)d]   
  2. port=3306   
  3. #socket=MySQL(和PHP搭配之最佳組合)   
  4. skip-locking   
  5. set-variable = key_buffer=16K   
  6. set-variable = max_allowed_packet=1M   
  7. set-variable = thread_stack=64K   
  8. set-variable = table_cache=4   
  9. set-variable = sort_buffer=64K   
  10. set-variable = net_buffer_length=2K   
  11. set-variable = max_connections=32000  

修改完畢後,重啟MySQL(和PHP搭配之最佳組合)即可。當然,為了確保設置正確,應該查看一下max_connections。

注意:

1、雖然這裡寫的32000。但實際MySQL(和PHP搭配之最佳組合)服務器允許的最大連接數16384;

2、除max_connections外,上述其他配置應該根據你們系統自身需要進行配置,不必拘泥;

3、添加了最大允許連接數,對系統消耗增加不大。

4、如果你的MySQL(和PHP搭配之最佳組合)用的是my.ini作配置文件,設置類似,但設置的格式要稍作變通。

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