憑藉極具競爭力的授權成本與易用性,MySQL在資料庫市場佔有率持續攀升。開源社區為拓展其應用場景,專門開發了適用於.NET Framework的資料庫連接器,使開發者能在.NET應用程式中無縫操作MySQL。
在Windows環境下,主要有兩款成熟的MySQL連接器可供選擇:
若使用Mono跨平台框架,可在Mono官網獲取對應連接器。Windows版Mono包含安裝程式,其他作業系統需依平台下載相應版本。
安裝連接器後,需在程式碼中引入MySql.Data.MySqlClient命名空間。C#中使用using MySql.Data.MySqlClient;,ASP.NET Web Form則可透過<%@ Import Namespace="MySql.Data.MySqlClient" %>指令匯入。該命名空間提供以下核心類別:
連線第一步是透過MySqlConnection類別配合連線字串實例化。連線字串指定伺服器位址、資料庫名稱、認證資訊等參數。例如:
string connStr = "server=localhost; database=sitepoint;";
呼叫Open()方法即可建立連線,後續即可執行命令或查詢資料。
以下C#程式碼示範如何結合MySqlConnection、MySqlCommand與MySqlDataReader執行SHOW DATABASES指令並顯示結果:
using MySql.Data.MySqlClient;
MySqlConnection conn = new MySqlConnection("server=localhost; database=sitepoint;");
conn.Open();
MySqlCommand cmd = new MySqlCommand("SHOW DATABASES", conn);
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read()) {
Response.Write(reader.GetString(0) + "<br>");
}
reader.Close();
conn.Close();
ExecuteReader()回傳MySqlDataReader物件,GetString(0)取得當前行第一欄資料,配合while迴圈遍歷結果集。
在Mono環境下,命名空間為ByteFX.Data.MySqlClient(因早期由ByteFX公司開發,後被MySQL AB收購)。只需修改using陳述式即可相容:
using ByteFX.Data.MySqlClient;
MySQL與.NET的結合,加上Mono的開源特性,構建了支援Windows、Linux、UNIX等多平台的高彈性開發環境。開源社區對雙方的持續技術投入,讓這對組合在企業級應用中極具競爭力。