Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thực thi một thủ tục được lưu trữ từ biểu mẫu cửa sổ một cách không đồng bộ và sau đó ngắt kết nối?

Đây thực sự là một kịch bản khá phổ biến. Bạn không thể làm bất cứ điều gì dựa trên ứng dụng khách vì ứng dụng khách có thể biến mất và ngắt kết nối và bạn sẽ mất công việc đã đạt được cho đến nay. Giải pháp là sử dụng Kích hoạt Nhà môi giới Dịch vụ :bạn tạo một dịch vụ trong cơ sở dữ liệu và đính kèm một thủ tục đã được kích hoạt. Trong ứng dụng của bạn (hoặc trang ASP), bạn gửi tin nhắn đến dịch vụ và nhúng các tham số cần thiết cho quy trình của mình. Sau khi ứng dụng của bạn cam kết, thông báo sẽ kích hoạt quy trình dịch vụ. thủ tục dịch vụ đọc các tham số từ thông báo và gọi thủ tục của bạn. vì kích hoạt xảy ra trên một chuỗi máy chủ không liên quan đến kết nối ban đầu của bạn, điều này là đáng tin cậy. Trên thực tế, máy chủ thậm chí có thể tắt và khởi động lại trong khi thủ tục của bạn đang được thực thi và công việc sẽ được quay lại sau đó tiếp tục lại, vì thông báo kích hoạt sẽ kích hoạt lại quy trình dịch vụ sau khi khởi động lại.

Cập nhật

Tôi đã xuất bản chi tiết về cách thực hiện việc này, bao gồm cả mã mẫu trên blog của tôi: Thực thi thủ tục không đồng bộ .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để trả về số ngẫu nhiên dưới dạng một cột trong SQL Server 2005?

  2. Truy vấn mối quan hệ cha mẹ con cái ở cấp cao nhất

  3. Lỗi khôi phục máy chủ SQL - Quyền truy cập bị từ chối

  4. Lấy dữ liệu từ quy trình được lưu trữ với Entity Framework

  5. Một cái nhìn logic không tưởng tượng về các quy ước đặt tên máy chủ SQL