Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 23 kết quả

Đề tài: Đồng bộ dữ liệu giữa các server trong mạng Lan

  1. #1
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    733

    Angry Đồng bộ dữ liệu giữa các server trong mạng Lan

    Chào các bạn! Hiện nay mình đang phải làm 1 tool window form C# với chức năng sau:
    Giả sử máy tính mình là máy A. Và có 1 máy tính trong mạng Lan là máy B. Hai máy tính này có cùng 1 csdl là ABC. Giờ tool của mình cần phải làm là: Cập nhật các thay đổi trên csdl của máy A, sang máy B. Nâng cao lên là có các tùy chọn:
    Hiển thị các table trong csdl của máy mình, chọn table nào thì update dữ liệu mới trên máy A sang máy B.
    Các bạn nào biết thì cố gắng giúp mình với nhé, mình cần phải làm gấp. Cảm ơn các bạn.
    Hỏi một câu thì chỉ dốt trong chốc lát.Nhưng nếu không hỏi thì bạn sẽ dốt suốt đời.

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Trích dẫn Nguyên bản được gửi bởi snake_programmer Xem bài viết
    Chào các bạn! Hiện nay mình đang phải làm 1 tool window form C# với chức năng sau:
    Giả sử máy tính mình là máy A. Và có 1 máy tính trong mạng Lan là máy B. Hai máy tính này có cùng 1 csdl là ABC. Giờ tool của mình cần phải làm là: Cập nhật các thay đổi trên csdl của máy A, sang máy B. Nâng cao lên là có các tùy chọn:
    Hiển thị các table trong csdl của máy mình, chọn table nào thì update dữ liệu mới trên máy A sang máy B.
    Các bạn nào biết thì cố gắng giúp mình với nhé, mình cần phải làm gấp. Cảm ơn các bạn.
    Bạn ơi, Microsoft SQL Server đã có sẵn tính năng đồng bộ hóa này nhé.
    Bạn hỏi đại ca với keyword: Replication
    Bao chàng trai không tiếc tuổi xuân đang viết nhiều chương trình
    Em đẹp xinh cũng quyết lập công chưa muốn lấy chồng
    http://ipmac.vn/ <- Học lập trình ... sư
    http://laptrinh.tv/ <- Kênh chia sẻ video học IT
    http://www.youtube.com/user/anhnt3 <- Video thực hành lập trình... sư từ A-Z

  3. #3
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    733

    Cảm ơn đã cho mình biết thông tin, cả chiều nay mình cũng đã tìm hiểu về cái đó, đúng là sql server có chức năng đó, nhưng giờ làm sao ta có thể viết được 1 app để thực hiện công việc. Mình có tìm trên mạng và đã download được 1 chương trình nó compare CSDL còn test đồng bộ lại những dữ liệu mới, dữ liệu change thì chưa thấy gì, chắc mai test tiếp. Vấn đề là ta phải bắt đầu tìm hiểu từ đâu (thư viện nào, DLL nào) để code ra được app đó.
    Hỏi một câu thì chỉ dốt trong chốc lát.Nhưng nếu không hỏi thì bạn sẽ dốt suốt đời.

  4. #4
    Ngày gia nhập
    06 2011
    Bài viết
    93

    Nếu cã 2 máy đều dùng chung csdl thì có thể dùng SqlDependency khi đó nếu thay đổi dữ liệu ở máy này thì máy kia sẽ tự động cập nhật. Tham khảo ở đây
    Ref Link Code:

  5. #5
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    733

    Cảm ơn bạn, nhưng không biết nó có update dữ liệu trên server máy khác không. Để chút nữa mình test thử.
    Hỏi một câu thì chỉ dốt trong chốc lát.Nhưng nếu không hỏi thì bạn sẽ dốt suốt đời.

  6. #6
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Mặc định Đồng bộ dữ liệu giữa các server trong mạng Lan

    Trích dẫn Nguyên bản được gửi bởi snake_programmer Xem bài viết
    Cảm ơn đã cho mình biết thông tin, cả chiều nay mình cũng đã tìm hiểu về cái đó, đúng là sql server có chức năng đó, nhưng giờ làm sao ta có thể viết được 1 app để thực hiện công việc. Mình có tìm trên mạng và đã download được 1 chương trình nó compare CSDL còn test đồng bộ lại những dữ liệu mới, dữ liệu change thì chưa thấy gì, chắc mai test tiếp. Vấn đề là ta phải bắt đầu tìm hiểu từ đâu (thư viện nào, DLL nào) để code ra được app đó.
    Nếu bạn không muốn dùng chức năng có sẵn của Microsoft thì mình code bằng tay cái app đó vậy
    Bạn viết 1 vài store proc trong đó dùng lệnh MERGE để đồng bộ hóa các bảng biểu, sau đó app của bạn call đến các store này.
    Note: cho mình hỏi lý do vì sao replication không đáp ứng đựoc yêu cầu của bạn vậy, mình đã tư vấn cho nhiều đơn vị trong đó có cả các ngân hàng cũng dùng chức năng nay để đồn bộ dữ liệu giữa các khu vực.

    Documentation của merge:
    Ref Link Code:

    Ngoài ra có một vài tool khác cũng hỗ trợ tự động hóa việc trên.
    Bao chàng trai không tiếc tuổi xuân đang viết nhiều chương trình
    Em đẹp xinh cũng quyết lập công chưa muốn lấy chồng
    http://ipmac.vn/ <- Học lập trình ... sư
    http://laptrinh.tv/ <- Kênh chia sẻ video học IT
    http://www.youtube.com/user/anhnt3 <- Video thực hành lập trình... sư từ A-Z

  7. #7
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    733

    Cảm ơn bạn, tại vì ông sếp của mình bảo mình phải làm cho ông 1 module có tính năng như vậy, chứ sql server đã có sẵn rồi. ông bảo viết app sao cho lấy các dữ liệu mới trên server và update cho các máy khác, lựa chọn các table cần update rồi cập nhật cho các table đó ở máy khác trong mạng Lan.
    Mình định dùng dataset để get toàn bộ dữ liệu của 1 table, rồi dùng dataset đó để update sang table tương ứng cho máy kia trong Lan, nhưng mà trước khi update thì xóa nó đi, rồi insert lại không biết có được không? xem chừng việc nhận biết dữ liệu nào máy A có, máy B không có trên 1 table lựa chọn khó quá. Mình không rành cái này.
    Hỏi một câu thì chỉ dốt trong chốc lát.Nhưng nếu không hỏi thì bạn sẽ dốt suốt đời.

  8. #8
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Bài toán đồng bộ dữ liệu này vừa khó vừa rủi ro cao cho nên nó mới sinh ra Replication là thế -> anh sếp của bạn thật là vãi lúa quá đi -> thuyết phục sếp thêm có khi là lựa chọn hay hơn là cắm đầu cắm cổ.

    Việc code thì mình tin là bạn mày mò một thời gian chắc làm được nhưng phải test thật nhiều vào nếu chọn cách này.
    Bao chàng trai không tiếc tuổi xuân đang viết nhiều chương trình
    Em đẹp xinh cũng quyết lập công chưa muốn lấy chồng
    http://ipmac.vn/ <- Học lập trình ... sư
    http://laptrinh.tv/ <- Kênh chia sẻ video học IT
    http://www.youtube.com/user/anhnt3 <- Video thực hành lập trình... sư từ A-Z

  9. #9
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    733

    Khó quá nhỉ? Có cách nào giải quyết được không ta.
    Mình định với việc update toàn bộ dữ liệu thì sẽ làm là:
    Tạo 1 backup full ở bên A, rồi Restore with replace ở bên B,
    Còn nếu là chọn từng table để update thì dùng sqlbulkcopy để sao chép, trước khi sao chép sang bên B thì mình clear toàn bộ data bên trong table tương ứng đó đi bởi mình copy data nhận được từ table từ máy A. ( Củ chuối không nhỉ? ).
    Bạn nào có ý kiến gì nữa không?
    Hỏi một câu thì chỉ dốt trong chốc lát.Nhưng nếu không hỏi thì bạn sẽ dốt suốt đời.

  10. #10
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Trích dẫn Nguyên bản được gửi bởi snake_programmer Xem bài viết
    Khó quá nhỉ? Có cách nào giải quyết được không ta.
    Mình định với việc update toàn bộ dữ liệu thì sẽ làm là:
    Tạo 1 backup full ở bên A, rồi Restore with replace ở bên B,
    Còn nếu là chọn từng table để update thì dùng sqlbulkcopy để sao chép, trước khi sao chép sang bên B thì mình clear toàn bộ data bên trong table tương ứng đó đi bởi mình copy data nhận được từ table từ máy A. ( Củ chuối không nhỉ? ).
    Bạn nào có ý kiến gì nữa không?
    Củ chuối thật đấy, hic hic

    Đây là giải pháp của bọn Microsoft cho synchronize DB (Sync Framework), bạn tham khảo tiếp xem có ích gì không ?
    Ref Links Code:

    nếu làm được theo solution nào thì share cho anh em với nhé, tớ cũng quan tâm đến cái này.
    Bao chàng trai không tiếc tuổi xuân đang viết nhiều chương trình
    Em đẹp xinh cũng quyết lập công chưa muốn lấy chồng
    http://ipmac.vn/ <- Học lập trình ... sư
    http://laptrinh.tv/ <- Kênh chia sẻ video học IT
    http://www.youtube.com/user/anhnt3 <- Video thực hành lập trình... sư từ A-Z

Các đề tài tương tự

  1. Lỗi Restore failed for Server 'BETIEU\SQLEXPRESS' khi restore dữ liệu trong SQL Server 2005
    Gửi bởi soujiro_seta trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 9
    Bài viết cuối: 28-08-2013, 11:06 AM
  2. Chuyển từ sql server sang sql server compact trong visual studio 2010
    Gửi bởi ndnhan trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 18-11-2012, 12:52 PM
  3. MS SQL với C# Backup trên Server A và Restore ở Server B cùng cấu trúc CSDL như thế nào?
    Gửi bởi snake_programmer trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 1
    Bài viết cuối: 23-08-2011, 09:19 AM
  4. Lấy danh sách server & bảng trong sql server & my sql
    Gửi bởi lit.aptech trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 1
    Bài viết cuối: 21-09-2010, 08:02 PM
  5. hỏi các tạo server mới trong SQL Server 2k5
    Gửi bởi vf6.0 trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 4
    Bài viết cuối: 03-11-2008, 12:48 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn