1. Trang chủ
  2. » Công Nghệ Thông Tin

công nghệ ado.net cới c# - thực thi các hoạt động xử lý theo quan điểm giao tác (transaction)

15 442 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thực thi các hoạt động xử lý theo quan điểm giao tác (transaction)
Trường học Học Lập Trình Web
Thể loại Bài viết
Năm xuất bản 2025
Định dạng
Số trang 15
Dung lượng 535 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thực thi các hoạt động xử lý theo quan điểm giao tác Transaction 1.Giao tác là gì?. Giao tác là gì?•Giao tác được xem như một công việc không thể phân chia thêm nữa •Giao tác được xem l

Trang 2

Thực thi các hoạt động xử lý theo

quan điểm giao tác (Transaction)

1.Giao tác là gì?

2.Xử lý đối với Local Transaction

3.Xử lý đối với Distributed Transaction

4.Các cấp độ cô lập (Isolation Level)

Trang 3

1 Giao tác là gì?

Giao tác được xem như một công việc (không thể phân chia thêm nữa)

Giao tác được xem là thành công khi tất cả

các thao tác thực hiện thành công

Giao tác được xem là thất bại khi chỉ cần một thao tác thất bại

.NET Framework hỗ trợ các loại giao tác

−Local Transaction

−Distributed Transaction

Trang 4

1 Giao tác là gì?

Các tính chất ACID của giao tác

−Atomicity: tính không thể phân chia

−Consistency: tính nhất quán

−Isolation: tính cô lập

−Durability: tính bền vững

Trang 5

2 Xử lý đối với Local Transaction

B1: Mở Connection

B2: Bắt đầu một Transaction

B3: Tạo Command hoạt động trong

Transaction

B4: Thực hiện Command

B5: Chấm dứt Transaction với

Commit/Rollback

Trang 6

Các Transaction trong NET

System.Data.SqlClient.SqlTransaction

System.Data.OleDbClient.OleDbTransaction

System.Data.Odbc.OdbcTransaction

System.Data.OracleClient.OracleTransaction

Trang 7

3 Xử lý với Distributed Transaction

B1: Tạo đối tượng TransactionScope

B2: Mở các Connection

B3: Tạo và thực hiện các Command

B4: Nếu thực hiện thành công các Command thì đánh dấu Transaction là Complete

B5: Giải phóng đối tượng TransactionScope

Trang 8

4 Các cấp độ cô lập

Khi tạo Transaction có thể xác định cấp độ cô lập để xác lập ảnh hưởng giữa các Transaction

Các Transaction cùng truy xuất dữ liệu giống nhau tại cùng thời điểm có thể gây ra các lỗi

Dirty read: đọc dữ liệu chưa được Commit

Non-repeatable read: đọc không nhất quán

Phantom read: đọc không bình thường

Trang 9

Lỗi Dirty read

Transaction thứ nhất (T1) đang cập nhật

nhưng chưa Commit

T2 có thể đọc thấy dữ liệu chưa được Commit của T1

Trang 10

Lỗi Non-repeatable read

T1 đang đọc dữ liệu đã được Commit

T2 có thể cập nhật dữ liệu này

T1 đọc lại và thấy có sự thay đổi

Trang 11

Lỗi Phantom read

T1 đang đọc dữ liệu đã được Commit và dữ

liệu được đọc theo các điều kiện

T2 có thể cập nhật dữ liệu liên quan đến các

điều kiện

T1 đọc lại và thấy có sự thay đổi

Trang 12

IsolationLevel của Transaction

ReadUncommited

ReadCommited (cấp độ mặc định)

RepeatableRead

Serializable

Trang 14

Minh họa Isolation Level

Cấp độ ReadUnCommited

Trang 15

Thực hành

Thực hiện các thao tác cập nhật trong cùng

một giao tác

Ngày đăng: 28/05/2014, 18:06

🧩 Sản phẩm bạn có thể quan tâm