Hướng dẫn này sẽ dạy bạn cách kết nối với MySQL từ .NET Core bằng C#.
1. Cài đặt MySQLConnector
Đầu tiên, cài đặt gói nuget mysqlconnector. Từ dấu nhắc lệnh, chạy:
dotnet add package MySqlConnectorHoặc nhấp chuột phải vào dự án của bạn, chọn Quản lý các gói Nuget, trong hộp tìm kiếm nhập Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 4 và cài đặt gói trong dự án của bạn.Manage NuGet Packages…, in the Search box enter Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 4, and install the package in your project.
2. Chuỗi kết nối
Một chuỗi kết nối điển hình cho MySQL là:
Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASEThay thế các giá trị trong chuỗi đó bằng các cài đặt thích hợp cho cơ sở dữ liệu của bạn. Để biết cài đặt nâng cao hơn, hãy xem các tùy chọn kết nối.
Nếu bạn đang sử dụng ASP.NET Core, chuỗi kết nối của bạn thường sẽ được lưu trữ trong Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 5:
{ .... "ConnectionStrings": { "Default": "Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE" } }
3. Cấu hình dịch vụ (ASP.NET Core)
Nếu sử dụng ASP.NET Core, bạn sẽ muốn đăng ký kết nối cơ sở dữ liệu trong Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 6:
public void ConfigureServices(IServiceCollection services) { // ... services.AddTransient<MySqlConnection>(_ => new MySqlConnection(Configuration["ConnectionStrings:Default"])); }
4. Mở và sử dụng kết nối
Trong ASP.NET Core, đối tượng Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 7 sẽ được tiêm vào lớp Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 8 của bạn. Đối với các loại dự án khác, bạn có thể cần phải tạo rõ ràng kết nối:
using var connection = new MySqlConnection(yourConnectionString);
Sau đó, bạn có thể mở kết nối và thực hiện truy vấn:
await connection.OpenAsync(); using var command = new MySqlCommand("SELECT field FROM table;", connection); using var reader = await command.ExecuteReaderAsync(); while (await reader.ReadAsync()) { var value = reader.GetValue(0); // do something with 'value' }
Đối tượng Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 7 được cấu hình bằng chuỗi kết nối. Một chuỗi kết nối chứa một số cặp giá trị khóa, được phân tách bằng dấu chấm phẩy. Trong mỗi cặp giá trị khóa, tên tùy chọn và giá trị tương ứng của nó được nối với một dấu bằng. Để biết danh sách các tên tùy chọn để sử dụng trong chuỗi kết nối, xem Phần & NBSP; 4.5, Trình kết nối mạng/Net 8.0 Tùy chọn tùy chọn kết nối.
Sau đây là chuỗi kết nối mẫu:
"server=127.0.0.1;uid=root;pwd=12345;database=test"Trong ví dụ này, đối tượng Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 7 được cấu hình để kết nối với máy chủ MySQL tại { .... "ConnectionStrings": { "Default": "Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE" } } 1, với tên người dùng là { .... "ConnectionStrings": { "Default": "Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE" } } 2 và mật khẩu là { .... "ConnectionStrings": { "Default": "Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE" } } 3. Cơ sở dữ liệu mặc định cho tất cả các câu lệnh sẽ là cơ sở dữ liệu ____24.
Trình kết nối/NET hỗ trợ một số mô hình kết nối:
Mở kết nối đến một máy chủ
Mở kết nối cho nhiều máy chủ có chuyển đổi dự phòng
Mở kết nối bằng cách sử dụng miền DNS duy nhất
Mở kết nối đến một máy chủ
Mở kết nối cho nhiều máy chủ có chuyển đổi dự phòng
Mở kết nối bằng cách sử dụng miền DNS duy nhất
Sau khi bạn đã tạo một chuỗi kết nối, nó có thể được sử dụng để mở kết nối với máy chủ MySQL.
Mã sau được sử dụng để tạo đối tượng Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 7, gán chuỗi kết nối và mở kết nối.
Trình kết nối MYSQL/NET cũng có thể kết nối bằng plugin xác thực Windows gốc. Xem Phần & NBSP; 4.4, Trình kết nối/Xác thực ròng của trực tuyến để biết chi tiết.
MySql.Data.MySqlClient.MySqlConnection conn; string myConnectionString; myConnectionString = "server=127.0.0.1;uid=root;" + "pwd=12345;database=test"; try { conn = new MySql.Data.MySqlClient.MySqlConnection(); conn.ConnectionString = myConnectionString; conn.Open(); } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show(ex.Message); }Bạn có thể mở rộng cơ chế xác thực bằng cách viết plugin xác thực của riêng bạn. Xem Phần & NBSP; 5.8, Viết một plugin xác thực tùy chỉnh để biết chi tiết.
Dim conn As New MySql.Data.MySqlClient.MySqlConnection Dim myConnectionString as String myConnectionString = "server=127.0.0.1;" _ & "uid=root;" _ & "pwd=12345;" _ & "database=test" Try conn.ConnectionString = myConnectionString conn.Open() Catch ex As MySql.Data.MySqlClient.MySqlException MessageBox.Show(ex.Message) End TryVí dụ C#
Trình kết nối MYSQL/NET cũng có thể kết nối bằng plugin xác thực Windows gốc. Xem Phần & NBSP; 4.4, Trình kết nối/Xác thực ròng của trực tuyến để biết chi tiết.
MySql.Data.MySqlClient.MySqlConnection conn; string myConnectionString; myConnectionString = "server=127.0.0.1;uid=root;" + "pwd=12345;database=test"; try { conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString); conn.Open(); } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show(ex.Message); }Bạn có thể mở rộng cơ chế xác thực bằng cách viết plugin xác thực của riêng bạn. Xem Phần & NBSP; 5.8, Viết một plugin xác thực tùy chỉnh để biết chi tiết.
Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 0Ví dụ C#
Mở kết nối cho nhiều máy chủ có chuyển đổi dự phòng
Mở kết nối bằng cách sử dụng miền DNS duy nhất
Sau khi bạn đã tạo một chuỗi kết nối, nó có thể được sử dụng để mở kết nối với máy chủ MySQL.
Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 1Mã sau được sử dụng để tạo đối tượng Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 7, gán chuỗi kết nối và mở kết nối.
Mở kết nối bằng cách sử dụng miền DNS duy nhất
Sau khi bạn đã tạo một chuỗi kết nối, nó có thể được sử dụng để mở kết nối với máy chủ MySQL.
Mã sau được sử dụng để tạo đối tượng Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 7, gán chuỗi kết nối và mở kết nối.
Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 2Trình kết nối MYSQL/NET cũng có thể kết nối bằng plugin xác thực Windows gốc. Xem Phần & NBSP; 4.4, Trình kết nối/Xác thực ròng của trực tuyến để biết chi tiết.
Trình kết nối MYSQL/NET cũng có thể kết nối bằng plugin xác thực Windows gốc. Xem Phần & NBSP; 4.4, Trình kết nối/Xác thực ròng của trực tuyến để biết chi tiết.
Server=YOURSERVER;User ID=YOURUSERID;Password=YOURPASSWORD;Database=YOURDATABASE 3Bạn có thể mở rộng cơ chế xác thực bằng cách viết plugin xác thực của riêng bạn. Xem Phần & NBSP; 5.8, Viết một plugin xác thực tùy chỉnh để biết chi tiết.