MySQL 憑藉開源免費、效能優異、社群龐大,成為 .NET 應用的熱門資料庫選擇。Google、NASA、美聯社等巨頭皆大規模採用。本文詳細說明 ASP.NET 連接 MySQL 的完整實作:驅動安裝、連線字串、核心類別操作、實戰範例、Mono 跨平台注意事項。
| 驅動 | 類型 | 特色 | 適用場景 |
|---|---|---|---|
| MySQL Connector/Net | 官方、開源、免費 | 純 C# 實作、支援 .NET Core、NuGet 安裝 | 首選、生產環境標準 |
| MySQLDirect .NET (Devart) | 商業、付費 | 效能優化、進階功能、技術支援 | 企業級關鍵系統 |
| Mono 內建 | 開源 | ByteFX.Data.MySqlClient 命名空間 | Linux/Mono 環境 |
# Package Manager Console Install-Package MySql.Data # 或 .NET CLI dotnet add package MySql.Data
using MySql.Data.MySqlClient; // Windows/.NET Core // Mono 環境需改用 using ByteFX.Data.MySqlClient;
| 類別 | 用途 |
|---|---|
| MySqlConnection | 管理資料庫連線 |
| MySqlCommand | 執行 SQL 指令 |
| MySqlDataReader | 高效唯讀資料流 |
| MySqlDataAdapter | 填充 DataSet、更新資料庫 |
| MySqlException | 例外處理 |
關鍵參數:Charset=utf8mb4 防亂碼、SslMode=None 開發環境免憑證、Pooling=true 連線池預設開啟。
<%@ Page Language="C#" %> <%@ Import Namespace="MySql.Data.MySqlClient" %>
ByteFX.Data.MySqlClient (Mono) vs MySql.Data.MySqlClient (Windows)mcs -r:MySql.Data.dll Program.csmono Program.exebind-address = 0.0.0.0)cmd.Parameters.AddWithValue("@id", id)ASP.NET 連接 MySQL 核心流程:安裝 MySql.Data → 引入命名空間 → 建立連線字串 → MySqlConnection.Open() → MySqlCommand 執行 → MySqlDataReader 讀取。Mono 環境僅需切換命名空間。掌握參數化查詢、連線池、例外處理三大關鍵,即可構建穩健高效的 .NET + MySQL 應用。