- ado.net
- Chuẩn bị cơ sở dữ liệu máy chủ sql cho bài tập
- kết nối sql
- Chuỗi kết nối
- sqlconnectionstringbuilder
- Thông tin kết nối
- Đọc chuỗi kết nối từ tệp cấu hình
- máy chủ ado.net và mysql
-
sqlite Sau đó cài đặt trình cung cấp dữ liệu microsoft.data.sqlite
Đầu tiên hãy tìm hiểu cách sử dụng data provider kết hợp với trường hợp cụ thể sqlclient để truy cập cơ sở dữ liệu ms sql server. Thêm gói sqlclient vào dự án của bạn bằng cách gõ:
Sau đó, hãy sử dụng không gian tên trong mã của bạn:
Chuẩn bị máy chủ sql với dữ liệu mẫu
Do tập quán sử dụng sqlclient để kết nối với sql server nên nếu bạn chưa có hệ quản trị cơ sở dữ liệu này, bạn có thể tạo sql server với dữ liệu mẫu – chạy trong docker container, làm theo hướng dẫn trong mssql container , nếu bạn đã có sql server – Bạn có thể khôi phục dữ liệu ví dụ từ file bak xtlab.bak vào xtlab csdl để thực hành.
Hoặc bạn có thể tải xuống docker-compose.yml và dữ liệu mẫu trong sqldocker, sau đó giải nén nó vào thư mục mssql từ dòng lệnh và chạy lệnh:
Làm như vậy bạn sẽ có một máy chủ sql với dữ liệu mẫu, tên là xtlab, cấu trúc của nó giống như công cụ sql online, cổng nghe 1433, mật khẩu tài khoản 123
Sử dụng dbconnection để tạo kết nối
dbconnection là lớp đại diện cho kết nối đến máy chủ cơ sở dữ liệu. Từ các thư viện triển khai cụ thể như vậy mới có lớp triển khai dbconnection sqlconnection cho từng loại cơ sở dữ liệu như sql server.
sqlconnection được sử dụng với các bước cơ bản sau:
- Tạo đối tượng sqlconnection từ chuỗi kết nối đến máy chủ sql
- Mở kết nối bằng phương thức open()
- Thực thi truy vấn bằng sqlcommand, sqldataadapter, sqldatareader, v.v…
- Kết nối không còn được sử dụng, nên đóng kết nối bằng phương thức close
- connectionstate.đã đóng kết nối
- connectionstate.connecting đang kết nối
- connectionstate.executing đang thực thi một số lệnh
- connectionstate.fetching đang nhận dữ liệu về
- connectionstate.open để mở kết nối
- dbconnectionstringbuilder được triển khai cho mysqlconnectionstringbuilder
- kết nối db được triển khai cho kết nối mysql
- Triển khai dbcommand thành mysqlcommand
- …
Ví dụ địa chỉ localhost (hoặc 127.0.0.1) có sql server, floating port 1433, account name là sa, password là password123 thì tạo và mở kết nối như sau:
Tạo chuỗi kết nối với máy chủ sql
chuỗi kết nối là tham số để khởi tạo đối tượng sqlconnection. Chuỗi này chứa thông tin cơ bản về kết nối với máy chủ sql, được bao gồm trong cặp key=value, ví dụ: chuỗi “key 1=value1 ;key 2= value2”, một số key được trích dẫn bên dưới
Tạo chuỗi kết nối cơ bản
Chuỗi trông như thế này:
hoặc
Ví dụ
Máy chủ sql trên máy có địa chỉ ip 192.168.1.10 có cơ sở dữ liệu tên là exampledb, cho phép kết nối bằng user/password testuser/testpass, sau đó tạo chuỗi kết nối và đối tượng sqlconnection như sau:
Nếu sử dụng được sử dụng, kết nối sẽ tự động đóng khi kết thúc khối sử dụng, do đó không cần gọi đóng
Lưu ý rằng trong phạm vi phương thức, bạn có thể sử dụng sử dụng mà không cần tạo khối
trình tạo chuỗi kết nối sql
sqlconnectionstringbuilder giúp tạo chuỗi kết nối, bằng cách thiết lập từng loại khóa ở trên, sau đó nó sẽ tạo chuỗi kết nối cho bạn. Ví dụ:
thông tin kết nối sqlconnection
Ở phần trước chúng ta đã biết tạo một chuỗi kết nối, từ đó sinh ra một đối tượng sqlconnection và các lớp khác nhau như sqlcommand, sqldataadapter… sử dụng nó để thực hiện các truy vấn trên dữ liệu. . Các đối tượng này sẽ được học sau, sau đây là giới thiệu thêm một chút về sqlconnection
Một số phương thức và thuộc tính kết nối sql
Để kiểm tra, bạn cần sử dụng phương thức flagsattribute cho các thao tác theo bit, ví dụ:
Ví dụ: ví dụ sau tạo một chuỗi kết nối đến máy chủ sql có địa chỉ là 127.0.0.1, sau đó lấy thông tin cho biết mỗi khi trạng thái kết nối thay đổi (mở, đóng), có thực hiện truy vấn sql để lấy hay không dữ liệu và cuối cùng, nó hiển thị Thông báo tiếp theo được thực thi trên kết nối
Tham khảo: Cấu trúc By Far trong tiếng Anh
Khi chạy trong chính
Đọc thông tin kết nối từ tệp cấu hình
Bạn có thể lưu chuỗi kết nối trong cấu hình, sau đó khi chạy chương trình sẽ đọc và tạo thông tin kết nối, bạn có thể sử dụng kỹ thuật cấu hình để lưu thông tin kết nối dưới định dạng file như json, ini, xml … giả sử là định dạng json, hãy thêm và sử dụng bao bì json theo hướng dẫn trong phần cấu hình
Giả sử bạn tạo một tệp cấu hình có tên appconfig.json chứa chuỗi kết nối sau:
Ví dụ:
Sử dụng ado.net trên máy chủ mysql
Để tạo nhanh dịch vụ máy chủ mysql bằng docker, hãy tạo tệp docker-compose.yaml với nội dung sau:
Dùng file trên, dùng phiên bản mysql 5.7, port mặc định của mysql 3306 tiếp xúc với host là port 3307 (localhost:3307 là để truy cập mysql), rồi thực hiện lệnh tạo dịch vụ
Sau khi dịch vụ chạy, bạn có thể sử dụng bất kỳ công cụ quản lý mysql nào để quản lý nó, chẳng hạn như cài đặt mysql workbench, sau đó kết nối với mysql (lưu ý cổng 3307)
Nếu bạn muốn lấy nhanh csdl mẫu như trên, hãy tạo một cơ sở dữ liệu có tên là xtlab và thực thi sql scripts_create_db_mysql trong cửa sổ truy vấn
Tích hợp thư viện mysql.data
Thư viện mysql.data trên nuget cho phép các ứng dụng .net sử dụng ado.net để truy vấn mysql và thực thi các lệnh
Thư viện này triển khai giao diện của ado.net, trừu tượng…, ví dụ:
Mã để kết nối với máy chủ truy vấn sql có thể được sửa đổi để truy vấn mysql như sau:
Lưu ý việc sử dụng không gian tên mysql.data.mysqlclient
Mã nguồn ado_01_sqlconnection hoặc tải xuống ex039
Tham khảo: Hướng dẫn cách vệ sinh kính cận đơn giản, dễ thực hiện
Giới thiệu về ado.net
ado.net (đối tượng dữ liệu activex) là chương trình cho phép ứng dụng tương tác với nguồn dữ liệu (ví dụ: sqlserver, xml, mysql, cơ sở dữ liệu oracle…).
Kiến trúc
để truy cập dữ liệu bằng ado.net được chia thành nhiều phần riêng biệt, mỗi phần có thể được sử dụng độc lập hoặc bởi nhiều thành phần đồng thời. Về cơ bản, nó được chia thành hai khu vực như sau:
Đang xem: Ado net c