開源社區開發 .NET 版 MySQL 驅動,讓 ASP.NET 應用無縫接入 MySQL。Google、AP、NASA 等大型機構生產環境大規模採用。
| 驅動 | 性質 | 來源 |
|---|---|---|
| MySQL Connector/NET 1.0 (原 ByteFX.Data) | 開源、C# 純 managed 代碼 | MySQL 官網 |
| MySQLDirect .NET Data Provider | 商業、Core Lab 開發 | Core Lab 官網 (有試用版) |
本文以 Connector/NET 為例。Mono 平台用 ByteFX.Data.MySqlClient 命名空間。
// C#
using MySql.Data.MySqlClient;
// ASPX 頁面
<%@ Import Namespace="MySql.Data.MySqlClient" %>
| 類別 | 用途 |
|---|---|
MySqlConnection | 管理連線池、開啟/關閉 |
MySqlDataAdapter | 填充 DataSet、更新資料庫 |
MySqlDataReader | 單向流讀取、高效能 |
MySqlCommand | 執行 SQL、參數化查詢 |
MySqlException | 例外處理 |
string connStr = "server=localhost; database=sitepoint; uid=root; pwd=pass;";
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
// 執行命令...
conn.Close();
測試環境允許匿名登入 (生產嚴禁),故可簡化為 server=localhost; database=sitepoint;
MySqlConnection conn = new MySqlConnection(connStr);
MySqlCommand cmd = new MySqlCommand("SHOW DATABASES", conn);
conn.Open();
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read()) {
Response.Write(reader.GetString(0) & "
");
}
reader.Close();
conn.Close();
僅命名空間不同:using ByteFX.Data.MySqlClient;,其餘 API 相容。
MySQL + .NET = 強大跨平台開發棧。開源社區雙向支援 (MySQL 有 Connector/NET,.NET 有 Mono),Windows/Linux/Unix 部署彈性極高。